带有硬编码值的Android应用布局看起来很糟糕 [英] Android app layout looks bad with hardcoded values

查看:62
本文介绍了带有硬编码值的Android应用布局看起来很糟糕的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在此处使用新的应用布局. 这就是我想要的样子(在android studio中看起来像这样):

Playing around with a new app layout here. here's what I want it to look like (it looks like this in android studio):

无论使用哪种设备,我都希望使文本看起来更好.现在,我正在使用硬编码的值,但不知道该怎么做.任何资源/代码示例都很棒.

I want to make the text look well regardless of device. Right now I'm using hardcoded values but don't know how to do it otherwise. Any resources/ code samples would be great.

这是我当前的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:id="@+id/awesomelayout">

<ImageView
    android:id="@+id/iconimg"
    android:src="@drawable/ic_launcher"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" />


<TextView android:text="Phone Optimizer" android:layout_width="wrap_content" android:layout_centerHorizontal="true"
    android:layout_height="wrap_content"
    android:id="@+id/title"
    android:layout_alignParentTop="true"
    android:textSize="25dp" />





<ImageView
    android:id="@+id/safe"
    android:src="@drawable/sec"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:layout_below="@+id/lazyswipe"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="42dp" />
/>


<Button
    android:layout_width="100dp"
    android:layout_height="50dp"

    android:text="Scan Now"
    android:id="@+id/SecButton"
    android:onClick="secBtn"

    android:layout_gravity="right"
    android:layout_alignBottom="@+id/safe"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

<TextView android:text="360 Security" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/smltitle"
    android:textSize="30dp"


    android:layout_alignTop="@+id/safe"
    android:layout_toRightOf="@+id/safe"
    android:layout_toEndOf="@+id/safe" />

<TextView
    android:text="Scan for Viruses" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/smldsc"
    android:textSize="23dp"


    android:layout_below="@+id/smltitle"
    android:layout_alignLeft="@+id/smllazydsc"
    android:layout_alignStart="@+id/smllazydsc" />









<ImageView
    android:id="@+id/lazyswipe"
    android:src="@drawable/lz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />
/>


<Button
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="Update Now"
    android:id="@+id/lazyBtn"
    android:onClick="lazyBtn"
    android:layout_gravity="right"
    android:layout_alignBottom="@+id/lazyswipe"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

<TextView android:text="LazySwipe" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/smllazytitle"
    android:textSize="30dp"
    android:layout_alignTop="@+id/lazyswipe"
    android:layout_alignRight="@+id/smltitle"
    android:layout_alignEnd="@+id/smltitle" />

<TextView
    android:text="Make phone 30% faster" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/smllazydsc"
    android:textSize="23dp"

    android:layout_below="@+id/smllazytitle"
    android:layout_alignLeft="@+id/smllazytitle"
    android:layout_alignStart="@+id/smllazytitle" />


<ImageView
    android:id="@+id/apus"
    android:src="@drawable/apus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:layout_below="@+id/iconimg"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />
/>


<Button
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="Speed Now"
    android:id="@+id/apusButton"
    android:onClick="apusBtn"
    android:layout_gravity="right"
    android:layout_alignBottom="@+id/apus"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

<TextView android:text="Apus Booster" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/apusTitle"
    android:textSize="30dp"
    android:layout_alignTop="@+id/apus"
    android:layout_alignLeft="@+id/apusdesc"
    android:layout_alignStart="@+id/apusdesc" />

<TextView
    android:text="Make phone 30% faster" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/apusdesc"
    android:textSize="23dp"

    android:layout_below="@+id/apusTitle"
    android:layout_alignLeft="@+id/smllazytitle"
    android:layout_alignStart="@+id/smllazytitle" />

请给我您的任何建议,我会解决的:)

Please give me any advice you have and I'll fix it :)

推荐答案

在不同的屏幕尺寸值中提供不同的尺寸> dimens.xml

Provide different sizes for different screen sizes in values > dimens.xml

然后将集合变暗,而不是硬编码,例如: 设置android:layout_width="@dimens/btn_size"而不是android:layout_width="100dp"

Then set dimens instead of hard codes, for example: set android:layout_width="@dimens/btn_size" instead of android:layout_width="100dp"

您可以对文本大小等进行此操作.

You can do this for text sizes and so on.

您还可以使用嵌套布局或wrap_contentmatch_parent来使布局在每台设备上看起来都很好.

You can also use nested layouts or wrap_content and match_parent to make your layout look good on every device.

这篇关于带有硬编码值的Android应用布局看起来很糟糕的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆