膨胀自定义布局时删除 PreferenceFragment 中的边框
Remove border in PreferenceFragment when inflate custom layout
如何在使用自定义布局创建 PreferenceFragment
时删除边框。
这是我的代码:
public static class CommsPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_comms);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View aux = inflater.inflate(R.layout.config_custom, null);
return view;
}
}
我的 custom_layout.xml
包含 ConstraintLayout
以及 button
和 listview
。
自定义布局有背景色。加载时 PreferenceFragment
会自动添加边框白色背景。
此处为 API >21 且 API < 21 的屏幕截图
我能做些什么来消除它?
谢谢
这是另一个屏幕截图:
可以看成是32左右的padding是自动加上的。我如何强制父布局,即 FragmentPreferenceLayout 的填充为 0?
我找到了解决办法。虽然如果有人有更好的,我想知道。
另外,不知道为什么继续。
这是我的解决方案,在 PrefenceFragment 中添加代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.config_custom, null);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
View container_parent = (View)view.getParent();
container_parent.setPadding(0,0,0,0);
}
如何在使用自定义布局创建 PreferenceFragment
时删除边框。
这是我的代码:
public static class CommsPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_comms);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View aux = inflater.inflate(R.layout.config_custom, null);
return view;
}
}
我的 custom_layout.xml
包含 ConstraintLayout
以及 button
和 listview
。
自定义布局有背景色。加载时 PreferenceFragment
会自动添加边框白色背景。
此处为 API >21 且 API < 21 的屏幕截图
我能做些什么来消除它?
谢谢
这是另一个屏幕截图:
可以看成是32左右的padding是自动加上的。我如何强制父布局,即 FragmentPreferenceLayout 的填充为 0?
我找到了解决办法。虽然如果有人有更好的,我想知道。 另外,不知道为什么继续。
这是我的解决方案,在 PrefenceFragment 中添加代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.config_custom, null);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
View container_parent = (View)view.getParent();
container_parent.setPadding(0,0,0,0);
}