0

我有 4 个图像 + 文本按钮排列在 4x4 网格中。我正在使用带有 android:drawableTop 属性的 a 。按钮背景是可绘制的状态列表。它们是两个嵌套的 LinearLayouts 的子元素,它们以 2x2 网格排列。

我的问题是,出于美学原因,我希望按钮完全是方形的。我该怎么做呢?在某些设备上,它们被拉得很高,而在其他设备上,它们被压扁。无论屏幕尺寸或方向如何,有什么方法可以指示 Android 使高度和宽度始终相等?

如果要求不高,如果可以通过 XML 完成而不需要自定义 Java,那就太好了。

提前致谢...

按钮:

<Button
    android:id="@+id/btn_help_support"
    style="@style/btn_home"
    android:drawableTop="@drawable/home_btn_help_support"
    android:text="@string/home_btn_help_support" />

按钮样式:

<style name="btn_home">
    <item name="android:gravity">center</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_gravity">center</item>
    <item name="android:layout_marginLeft">10dp</item>
    <item name="android:layout_marginRight">10dp</item>
    <item name="android:layout_marginTop">10dp</item>
    <item name="android:layout_weight">1</item>
    <item name="android:paddingTop">10dp</item>
    <item name="android:paddingBottom">10dp</item>
    <item name="android:paddingLeft">10dp</item>
    <item name="android:paddingRight">10dp</item>
    <item name="android:background">@drawable/btn_std</item>
    <item name="android:drawablePadding">10dp</item>
    <item name="android:textColor">@color/btn_std_text</item>
    <item name="android:textSize">@dimen/home_btn_font_size</item>
</style>
4

1 回答 1

1

我相信这是因为您的layout_widthlayout_height分别设置为fill_parentwrap_content

现在,考虑不同的屏幕尺寸可能会很棘手,因此硬编码整数值可能不起作用,但值得一试。否则,您将不得不从样式中省略这些并在 Java 中定义它们。

于 2012-08-16T22:26:34.897 回答