ToggleButton
プロパティに設定された画像を持っていandroid:background
ます。この背景画像はすべての背景にフィットします。
すべての背景に合うように画像を拡大しないように、大きなToggleButtonの内側に小さな背景画像を中央に配置したいと思います。
誰かが手がかりを持っていますか?
ToggleButton
プロパティに設定された画像を持っていandroid:background
ます。この背景画像はすべての背景にフィットします。
すべての背景に合うように画像を拡大しないように、大きなToggleButtonの内側に小さな背景画像を中央に配置したいと思います。
誰かが手がかりを持っていますか?
画像の上にテキストを配置する場合は、おそらくXMLではなくコードで画像を設定する必要があります。何かのようなもの:
Resources r = getResources();
Drawable myimage = r.getDrawable(R.drawable.myimage);
Button mybutton = findViewById(R.id.mybutton);
myimage.setBounds(0, 0, myimage.getIntrinsicWidth(), myimage.getIntrinsicHeight());
mybutton.setCompoundDrawables(myimage, null, null, null);
はい、分かりました:
まず、XMLレイアウトでToggleButtonを作成します。ドローアブルは、ToggleButton
:の背景よりも小さい2つの(選択された状態と選択されていない状態の)画像を含むセレクターであると考えてください。
<ToggleButton
android:id="@+id/messageSeeMoreToggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff=""
android:textOn=""
android:background="@drawable/selector_wall_toggle_see_more_button"
android:contentDescription="@string/conversation_see_more_Button_description" />
次に、私たちのクラスでは、いつものようActivity
に私たちを見つけます:ToggleButton
viewHolder.messageSeeMoreToggleButton = (ToggleButton) view.findViewById(R.id.messageSeeMoreToggleButton);
次に、を使用してドローアブルの外観を変更しStateListDrawable.setLevel
ます。setLevel
より良い結果を得るために、の値を調整できます。
StateListDrawable stateListDrawable = (StateListDrawable) viewHolder.messageSeeMoreToggleButton.getBackground();
stateListDrawable.setLevel(3000);
ToggleButton
そのため、画像を拡大しないように、画像を背景の中央に配置します。
私はそれが誰かを助けることを願っています。