【问题标题】:Fragment: Programmatically create view for xml to fill片段:以编程方式为要填充的 xml 创建视图
【发布时间】:2011-04-22 00:52:09
【问题描述】:

有没有办法创建一个新的布局,然后你可以让你的 XML 膨胀?

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle icicle){

            one_third = (RelativeLayout)getActivity().findViewById(R.id.list3);

            DisplayMetrics dm = new DisplayMetrics();
            getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
            String width = "" + dm.widthPixels;

            int WIDTH;
            int SIZE;

            SIZE = Integer.parseInt(width.toString());

            WIDTH = (SIZE / 3); 

            one_third.setMinimumWidth(WIDTH);

    View homeselect = inflater.inflate(R.layout.listelements, container, false);
    setListAdapter(new ArrayAdapter<String>(getActivity(),
                R.layout.start_row, R.id.label, views));
    return homeselect;

}

我正在尝试在片段中使用这段代码,这里是我想要创建新布局的地方。我想给它 width 的值 WIDHT 然后让我的 xml 填充它。

【问题讨论】:

    标签: android xml android-3.0-honeycomb android-fragments


    【解决方案1】:

    这个问题实际上与 Fragment 无关。这里的 API 只是提供了 Fragment 管理的视图层次结构的一部分。所有布局都基于视图层次结构。你 *不*在这里做你的布局,因为你甚至不知道做布局的空间。

    无论何时使用视图层次结构,正确答案都是相同的:通过 onMeasure() 和 onLayout() 参与常规布局流程。如果标准布局管理器无法满足您的需求,您可以实现自己的特殊 ViewGroup 子类,根据它获得的大小执行您想要的布局。

    【讨论】:

    • 所以这听起来不错,就像它会做我想做的事,但我就像超级菜鸟,不知道该怎么做。哈哈。这是否允许我在 XML 中调用布局并设置它的值?如果是这样,这是怎么做的?谢谢,
    猜你喜欢
    • 2012-05-03
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多