我子类化了 Android 首选项以加载我自己的布局(略有修改),但我的布局仍然具有首选项类提供的内置图标:
<ImageView
android:id="@+android:id/icon"
android:layout_width="20dp"
android:layout_height="20dp/>
我无法像Android Ppreferences类那样以编程方式检索对ImageView的引用,因为com.android.internal.R无法解析:
ImageView imageView = (ImageView) view.findViewById(com.android.internal.R.id.icon);
是否可以以编程方式更改大小。理想情况下,我不会为我想要的每个尺寸创建各种布局。我认为这里的解决方案是将 AttributeSet 传递给我的构造函数并让它设置图标的大小,但我不知道如何做到这一点。
您的 ImageView id 声明在 xml 中是错误的,请更正它:
android:id="@android:id/icon"
在活动中以这种方式初始化图像视图:
ImageView imageView = (ImageView) view.findViewById(android.R.id.icon);
更改为@android:id/icon
并导入android.R.id.icon
试试这个解决方案:
imageView.post(new Runnable() {
@Override
public void run() {
imageView.setHeight(VALUE)
imageView.setWidth(VALUE)
}
})