我有 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>