我正在使用 a PreferenceFragment
(没有 a ListView
),但无法设置背景颜色,而且它似乎是透明的。
如何将背景颜色设置为白色PreferenceFragment
?
编辑:第一个屏幕截图:
覆盖 onCreateView 不起作用 -
我正在使用 a PreferenceFragment
(没有 a ListView
),但无法设置背景颜色,而且它似乎是透明的。
如何将背景颜色设置为白色PreferenceFragment
?
编辑:第一个屏幕截图:
覆盖 onCreateView 不起作用 -
这个问题也在这里得到了回答
将以下代码添加到您的 PreferenceFragment 将允许您添加背景颜色、图像等。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.onCreateView(inflater, container, savedInstanceState);
view.setBackgroundColor(getResources().getColor(android.R.color.your_color));
return view;
}
您也可以在onViewCreated()
方法中执行更改视图背景之类的操作。
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.setBackgroundColor(getResources().getColor(R.color.YOUR_COLOR));
}
试试这个。
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
getListView().setBackgroundColor(Color.BLACK);
}
我面临同样的要求(Androidx Preference Screen background for settings fragment)。
下面的代码对我有用。(在主题.xml 中)
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
...............
<!-- Add below -->
<item name="preferenceTheme">@style/preference</item>
</style>
<style name="preference" parent="Theme.AppCompat">
<item name="android:background">@color/purple_200</item>
</style>
</resources>