我的应用程序有两个PreferenceActivity
,并使用不同的图标和徽标,如下所示:
<activity android:name=".dashanalytics.DashAnalyticsPreferenceActivity" android:icon="@drawable/ic_dashanalytics" android:logo="@drawable/ic_dashanalytics" >
</activity>
<activity android:name=".dashadsense.DashAdSensePreferenceActivity" android:logo="@drawable/ic_dashadsense" android:icon="@drawable/ic_dashadsense" >
</activity>
问题是嵌套的PreferenceScreen
不尊重为这些设置定义的徽标设置。它们继承了application
标记中定义的徽标设置。
这会导致嵌套的首选项屏幕显示相同的图标。有办法解决这个问题吗?
答案 0 :(得分:0)
您可以使用此功能手动设置首选项屏幕窗口的主页图标。
// Set the preference screen's home icon when the preference is clicked
final PreferenceScreen preferenceScreen = (PreferenceScreen) findPreference("my_screen");
preferenceScreen.setOnPreferenceClickListener(
new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Window window = preferenceScreen.getDialog().getWindow();
ImageView view = (ImageView) window.findViewById(android.R.id.home);
if (view != null) {
view.setImageResource(R.drawable.ic_my_icon);
}
return false;
}
});