以编程方式更新片段的布局

时间:2016-03-06 15:20:08

标签: android android-layout android-fragments

我想动态更新片段的布局。我已经有了一个xml布局文件。膨胀后我更新布局。当我运行应用程序时,它会进行转换。从xml布局到编程改变了一个。为什么会发生这种转变以及如何克服这种转变我搜索了很多但无法解决这个问题。

我在片段的onCreateView方法中扩充布局。并使用更新 ApplicationUIUtils.setUpUIForCurrentView(rootView,getContext());

这是代码:

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    if (rootView == null) {
        rootView = inflater.inflate(R.layout.specific_current_details,
                container, false);
        init();
        ApplicationUIUtils.setUpUIForCurrentView(rootView, getContext());
        rootView.invalidate();
    }
    return rootView;
}

2 个答案:

答案 0 :(得分:1)

什么是 init()

为什么这对你来说是必要的?

ApplicationUIUtils.setUpUIForCurrentView(rootView, getContext());
rootView.invalidate();

创建片段时, onCreateView(...)将生成片段视图并进行更新。

如果要添加更多视图对象,可以在onCreateView(...)中进行。要为不同的设备创建不同的视图,您必须创建不同的流来修改返回的根视图。

阅读本文:Supporting Different Devices

答案 1 :(得分:0)

如果没有找到满意的答案,我只会将所有观点视为可见性"已经消失了#34;在xml中然后在代码中重新定位setVisibility(View.VISIBLE);这至少会消除转换问题,但需要花费与之前相同的时间来加载。