在膨胀自定义布局时,在PreferenceFragment中删除边框

时间:2016-09-06 10:04:34

标签: android layout border inflate

当我使用自定义布局创建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 buttonlistview

自定义布局具有背景颜色。加载PreferenceFragment时会自动添加边框白色背景。

此处使用API​​> 21和API<的屏幕截图21 enter image description here

我可以做些什么来消除它?

由于

这是另一个截图:

enter image description here

可以看作左右填充32自动添加。我如何强制父布局,即FragmentPreferenceLayout的填充为0?

1 个答案:

答案 0 :(得分: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);
    }