0

次の結果があります:

結果

右ボタン:

android:adjustViewBounds="true"
android:background="@android:color/transparent"
android:scaleType="centerInside"
android:src="@drawable/xml_menu_button" 

xml_menu_button:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="false" android:drawable="@drawable/bottom_button_menu"></item>
    <item android:state_pressed="true" android:drawable="@drawable/bottom_button_menu_pressed"></item>
</selector>

2 番目のボタンには、config と同様の xml があります。

パネルに動的に追加された左ボタン。したがって、コードを介してリソースを設定します。

ImageButton button = new ImageButton(getActivity());
button.setBackgroundColor(Color.TRANSPARENT);
button.setAdjustViewBounds(true);
button.setScaleType(ScaleType.CENTER_INSIDE);

StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed}, 
                new BitmapDrawable(getResources(), PATH_TO_BUTTON_PRESSED_IMAGE));
states.addState(new int[] { },
                new BitmapDrawable(getResources(), UPATH_TO_BUTTON_IMAGE));

button.setImageDrawable(states);

Panel はカスタム ViewGroup です。レイアウトの境界をオンにすると、測定とレイアウトの段階が思い通りに進んだことがわかります。しかし、ご覧のとおり、画像サイズには違いがあります。すべてのボタンのサイズは同じ 70x58 ピクセルです。レイアウト ボタンのサイズは 77x77 です。何が間違っていますか?

4

0 に答える 0