首页 > 解决方案 > 将视图添加到 flexboxlayout

问题描述

单击一个按钮,我以编程方式创建一个文本视图并将它们添加到 flexboxlayout。为什么只添加了一个视图?

mButton.setOnClickListener(new View.OnClickListener() {
        int i = 1;
        @Override
        public void onClick(View v) {
            flexboxLayout.setFlexDirection(FlexDirection.ROW_REVERSE);
            flexboxLayout.setFlexWrap(FlexWrap.WRAP);
            flexboxLayout.setJustifyContent(JustifyContent.CENTER);
            final TextViewR textViewR = new TextViewR(getApplicationContext(), "Text " + Integer.toString(i++)); //setting text here
            FlexboxLayout.LayoutParams lp = new FlexboxLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
            lp.setOrder(1);
            textViewR.setLayoutParams(lp);
            flexboxLayout.addView(textViewR);
        }
    });

标签: androidandroid-layoutandroid-flexboxlayout

解决方案


我假设TextViewR是你的习惯TextView

你应该改变

`FlexboxLayout.LayoutParams lp = new FlexboxLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);`

`FlexboxLayout.LayoutParams lp = new FlexboxLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);` 

因为textViewR.setLayoutParams(lp);将 flexboxlayout 参数设置为 textview 并且您的参数告诉 textview 匹配作为 flexbox 的父级。


推荐阅读