簡體   English   中英

通過Android Preference以編程方式設置圖標(@ + android:id / icon)的大小

[英]Programatically setting size of icon (@+android:id/icon) from Android Preference

我將Android偏好設置子類化以加載自己的布局(略有修改),但是我的布局仍然具有Preference類提供的內置圖標:

<ImageView
    android:id="@+android:id/icon"
    android:layout_width="20dp"
    android:layout_height="20dp/>

我無法像Android Preference類一樣以編程方式檢索對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 = (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)
}
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM