0

我有这个代码:

<LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="66dp" android:gravity="center"
        >

        <Button
            android:id="@+id/button1"
            android:layout_width="120px"
            android:layout_height="65dp"
            android:text="hight"
            android:textStyle="bold"
            android:drawableTop="@drawable/up"
            android:gravity="center|bottom"
             />
        <Button
            android:id="@+id/button2"
            android:layout_width="120px"
            android:layout_height="65dp"
            android:text="low "
            android:textStyle="bold"
            android:drawableTop="@drawable/down"
            android:gravity="center|bottom"
             />
        <Button
            android:id="@+id/button3"
            android:layout_width="120px"
            android:layout_height="65dp"
            android:text="refresh"
            android:textStyle="bold"
            android:drawableTop="@drawable/refresh"
            android:gravity="center|bottom"
             />
        <Button
            android:id="@+id/btnGraf"
            android:layout_width="120px"
            android:layout_height="65dp"
            android:text="graf"
            android:textStyle="bold"
            android:drawableTop="@drawable/graf2"
            android:gravity="center|bottom"
            />
    </LinearLayout>

当我在 480 X 800 设备上运行时,它看起来很棒

但如果我在 720 X 1280 设备上运行,按钮看起来又小又丑。

如何使按钮均匀增长并占据所有屏幕?

4

4 回答 4

0

将您的图像放在 drawable-xhdpi 文件夹中,因为 Nexus 手机总是从这些文件夹中获取图像。否则你必须为它们设计一个单独的布局,比如 layout-normal-xhdpi。

于 2013-04-19T18:05:14.883 回答
0

这是一些更新的代码,如果您的布局,它将缩放按钮的大小以使用可用的宽度。

不过首先要注意一些事项:
- 请避免使用精确的像素大小。请注意,我已将每个按钮的高度更改为 wrap_content。如果您需要更大的按钮,请使用 DP 而不是 PX。这将确保按钮大小在具有不同屏幕分辨率的设备之间保持一致。

<LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="66dp"
        android:gravity="center" >

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:drawableTop="@drawable/up"
            android:gravity="center|bottom"
            android:text="hight"
            android:textStyle="bold" />

        <Button
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:drawableTop="@drawable/down"
            android:gravity="center|bottom"
            android:text="low "
            android:textStyle="bold" />

        <Button
            android:id="@+id/button3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:drawableTop="@drawable/refresh"
            android:gravity="center|bottom"
            android:text="refresh"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btnGraf"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:drawableTop="@drawable/graf2"
            android:gravity="center|bottom"
            android:text="graf"
            android:textStyle="bold" />
    </LinearLayout>
于 2013-04-19T20:56:20.277 回答
0

尝试将相同的drawables放在drawable-hdpi文件夹drawable-mdpi drawable-xhdpi文件夹中,它们看起来会更好。并将倾角单位用于高度和宽度属性

于 2013-04-19T16:23:08.917 回答
0

将它们的宽度设置为 0dp 并使用权重。这将使它们根据体重增长。

于 2013-04-19T16:04:53.557 回答