我使用的是PreferenceFragment
(没有ListView
),但我无法设置背景颜色,而且它似乎是透明的。
如何使用PreferenceFragment
将背景颜色设置为白色?
编辑: 第一个截图:
覆盖onCreateView不起作用 -
答案 0 :(得分:43)
此问题也得到了解答here
将以下代码添加到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;
}
答案 1 :(得分:2)
您还可以执行更改onViewCreated()
方法中视图背景的操作。
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.setBackgroundColor(getResources().getColor(R.color.YOUR_COLOR));
}
答案 2 :(得分:0)
尝试一下。
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
getListView().setBackgroundColor(Color.BLACK);
}
答案 3 :(得分:0)
我遇到了同样的要求(设置片段的 Androidx 首选项屏幕背景)。
以下代码对我有用。 (在 themes.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>