0

我在列表中使用了两个按钮。一个是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));

问题/问题

在常规尺寸的屏幕上一切正常。但是,当我在平板电脑上进行测试时,ToggleButtonImageButton. 我已经验证了所有 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,但这也无济于事。

4

0 回答 0