25

我正在使用 a PreferenceFragment(没有 a ListView),但无法设置背景颜色,而且它似乎是透明的。

如何将背景颜色设置为白色PreferenceFragment

编辑:第一个屏幕截图: 图 1

覆盖 onCreateView 不起作用 - 图 2

4

4 回答 4

51

这个问题也在这里得到了回答

将以下代码添加到您的 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;
}
于 2013-12-22T19:03:37.093 回答
4

您也可以在onViewCreated()方法中执行更改视图背景之类的操作。

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    view.setBackgroundColor(getResources().getColor(R.color.YOUR_COLOR));
}
于 2015-05-10T13:08:37.807 回答
1

试试这个。

  @Override
  public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        getListView().setBackgroundColor(Color.BLACK);
  }
于 2019-01-09T15:42:01.490 回答
1

我面临同样的要求(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>
于 2021-05-14T16:31:50.357 回答