作業中のアプリには、複数のImageButtonがあります。各ImageButtonには、ドロアブルの形式で背景とコンテンツがあります。現時点では、DrawableはImageButtonの範囲内で最大サイズになっていますが、縮小して欲しいので、パディングを追加する必要があります。問題は、それを行おうとしても効果がないということです。私のXMLは、ImageButtonごとに次のとおりです。
<ImageButton
Android:id="@+id/button_zero"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:padding="10dip"
Android:src="@drawable/button_zero"
Android:background="@drawable/button_background" />
パディングが何もしない理由は何ですか?
完全なXMLコード:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#222222"
tools:context=".Main" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical" >
<!-- Row One -->
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal" >
<ImageButton
Android:id="@+id/button_zero"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:padding="10dip"
Android:src="@drawable/button_zero"
Android:background="@drawable/button_front" />
<ImageButton
Android:id="@+id/button_one"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:padding="10dip"
Android:src="@drawable/button_one"
Android:background="@drawable/button_front" />
<ImageButton
Android:id="@+id/button_two"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:padding="10dip"
Android:src="@drawable/button_two"
Android:background="@drawable/button_front" />
<ImageButton
Android:id="@+id/button_three"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:padding="10dip"
Android:src="@drawable/button_three"
Android:background="@drawable/button_front" />
<ImageButton
Android:id="@+id/button_four"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:padding="10dip"
Android:src="@drawable/button_four"
Android:background="@drawable/button_front" />
</LinearLayout>
... same for other rows
</LinearLayout>
ImageButton定義に追加する必要があります
Android:scaleType="fitCenter"
または、fitXYなどの他のscaleType。デフォルトでは画像は可能な限り拡大縮小し、パディングを無視するためです。
パディングは、Android:src
属性ではなく、Android:background
属性に対してのみ効果があります。
最初をボタン画像に設定し、後者をAndroid:background="@Android:color/transparent"
に設定します