0

所以我有 16 个大小为 80dp 的按钮,它们在 3.0" - 4.5" 显示器中看起来不错。(来源:gyazo.com

当我得到像平板电脑这样更大的屏幕时,它看起来像这样(来源:gyazo.com

我的自定义按钮图像是: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>

4

1 回答 1

2

对于不同的屏幕,屏幕的大小dp是不同的。要确保每Button行中的每一个都占用相同数量的空间,请android:layout_width="0dip"与 结合使用android:layout_weight="1"。无论屏幕大小如何,这都会产生相同的效果。希望这可以帮助。

于 2012-11-11T18:56:57.737 回答