リストで 2 つのボタンを使用しています。1つはaToggleButton
で、もう1つはレギュラーですImageButton
XMLで設定した方法は次のとおりです。
<ToggleButton android:id="@+id/favc"
android:layout_width="32dp"
android:layout_height="32dp"
android:background="#ffffff"
android:padding="15dp"
android:layout_gravity="center"
android:focusable="false"
android:layout_marginRight="10dp"
android:textOn="" android:textOff=""
/>
<ImageButton
android:id="@+id/edit"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#ffffff"
android:gravity="center"
android:focusable="false"
android:layout_marginRight="10dp"
android:layout_alignParentLeft="true"
android:padding="15dp"
android:src="@drawable/pencil"/>
ボタンを切り替えるロジックは、リスト アダプターにあります。
if (holder.favButton.isChecked())
holder.favButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.star_pressed));
else
holder.favButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.star_1));
質問/問題
通常のサイズの画面ではすべて正常に動作します。ただし、これをタブレットでテストすると、ToggleButton
は に比べてサイズが非常に大きくなりImageButton
ます。すべての res フォルダーの画像サイズを確認しました。これは私が持っているものです:
hdpi = 24 x 24 (pencil), 24 x 23 (star)
mdpi = 16 x 16 (pencil), 16 x 15 (star)
xhdi = 32 x 32 (pencil), 34 x 32 (star)
xxhdi = 42 x 42 (pencil), 51 x 48 (star)
タブレットだとこんな感じ
普通のスマホだとこんな感じ
32dp
私も試してみましwrap_content
たが、それも役に立ちませんでした。