0

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>
4

1 に答える 1

1

これは、layout_widthandがそれぞれandlayout_heightに設定されているためだと思います。fill_parentwrap_content

現在、さまざまな画面サイズを説明するのは難しいかもしれないので、整数値のハードコーディングはうまくいかないかもしれませんが、試してみる価値はあります. それ以外の場合は、スタイルからこれらを省略して Java で定義する必要があります。

于 2012-08-16T22:26:34.897 に答える