Preference myPreference;
...
Drawable originalIcon = myPreference.getIcon();
myPreference.setIcon(android.R.drawable.btn_star);
...
myPreference.setIcon(originalIcon);
上面的代码会将图标更改为首选项,然后再将其恢复。
如果首选项没有图标,则首选项的文本将向右移动并添加图标(getIcon 返回 null)。为 Drawable 调用带有 null 的 setIcon 不会删除图标。如何删除图标并将首选项文本向左移动到其原始位置。