PreferenceFragment 使用的时候,有时候会想让其占满屏幕,但是本身有没有什么好的设置方法,通过网上查询得到的2个解决方案:
方法一,在Fragment中的onCreateView的时候,用我们自己的的Layout文件替代系统的Layout文件。只是注意文件的Id和布局要和系统的一样。
只不过把文件中设置ListView的Padding的地方改掉就可以了。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.my_preference_list_fragment, container,
false);
}
方法二:任然使用系统提供的Layout,只不过在onCreateView中用代码设置Padding,代码如下。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.onCreateView(inflater, container, savedInstanceState);
View view1 = null == view ? null : view.findViewById(android.R.id.list);
if (view1 != null) {
view1.setPadding(0, 0, 0, 0);
}
return view;
}
2个方法都是重写onCreateView方法,推荐使用第2个(使用没有问题), 简单好使破坏性也不强