4x4 グリッドに配置された 4 つの画像 + テキスト ボタンがあります。私は android:drawableTop 属性を使用しています。ボタンの背景は状態リストのドローアブルです。これらは、2x2 グリッドに配置された 2 つのネストされた LinearLayouts の子です。
私の問題は、審美的な理由から、ボタンを正確に正方形にしたいということです。どうすればいいですか?一部のデバイスでは縦に引き伸ばされ、他のデバイスでは平らに押しつぶされます。画面のサイズや向きに関係なく、Android に高さと幅を常に等しくするように指示する方法はありますか?
あまり多くのことを求めていないのであれば、カスタム Java を使用せずに XML 経由でこれを行うことができれば素晴らしいことです。
前もって感謝します...
ボタン:
<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>