【问题标题】:Remove border in PreferenceFragment when inflate custom layout膨胀自定义布局时删除 PreferenceFragment 中的边框
【发布时间】:2016-09-06 10:04:33
【问题描述】:

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

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

这里是 API >21 和 API

我能做些什么来消除它?

谢谢

这是另一个截图:

可以看成一个padding的32左右都是自动添加的。如何强制父布局,即 FragmentPreferenceLayout 有填充为 0?

【问题讨论】:

  • 如果我调试,我看到 ViewGroup 容器有 mBorderLeft 和 mBorderRight = 48..... ¿ 为什么?请帮帮我

标签: android layout border inflate


【解决方案1】:

我找到了解决方案。虽然如果有人有更好的,我想知道。 另外,不知为什么继续。

这是我的解决方案,在 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);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    相关资源
    最近更新 更多