我在列表中使用了两个按钮。一个是a ToggleButton
,另一个是常规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
,但这也无济于事。