所以我有16个大小为80dp的按钮,它们在3.0“ - 4.5”显示器中看起来很好。 http://gyazo.com/458c5060f56ef2e5ecb408387f07783e.png?1352659265
当我像平板电脑这样的大屏幕时,它看起来像这样 http://gyazo.com/a4f4dd5a0aae2d610c2909e0c96ee6aa.png?1352659024 我的自定义按钮图像是:ldpi 36x36,mdpi 48x48,hdpi 72x72,xhdpi 96x96 这是我的xml代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="@drawable/background"
android:orientation="vertical" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id1"
android:textColor="#FFF"
android:textSize="15dp"
android:digits="1"
/>
<Button
android:id="@+id/button2"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id2"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button3"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id3"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button4"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id4"
android:textColor="#FFF"
android:textSize="15dp" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button5"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id5"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button6"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id6"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button7"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id7"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button8"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id8"
android:textColor="#FFF"
android:textSize="15dp" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button9"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id9"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button10"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id10"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button11"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id11"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/button12"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id12"
android:textColor="#FFF"
android:textSize="15dp" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/Button01"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id13"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/Button02"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id14"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/Button03"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id15"
android:textColor="#FFF"
android:textSize="15dp" />
<Button
android:id="@+id/Button04"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/custom_button"
android:onClick="id16"
android:textColor="#FFF"
android:textSize="15dp" />
</LinearLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button13"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="18dp"
android:layout_marginTop="47dp"
android:background="@drawable/custom_button"
android:onClick="numbers" />
</RelativeLayout>
答案 0 :(得分:2)
dp
中屏幕的大小因不同屏幕而异。要确保一行中的每个Button
占用相同的空间量,请将android:layout_width="0dip"
与android:layout_weight="1"
结合使用。无论屏幕尺寸如何,这都会产生相同的效果。希望这会有所帮助。