我在列表中使用了两个按钮。一个是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
,但这也没有帮助。