java - LinearLayout addView 只添加一个 View

标签 java android android-linearlayout android-custom-view

我试图在 LinearLayout 中添加三个水平对齐的 View ,但只显示一个 View ;第一个红色的圆圈是下面的代码:

LinearLayout.LayoutParams linearParam = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
        view_custom_loading = new LinearLayout(getContext());
        view_custom_loading.setVisibility(View.VISIBLE);
        view_custom_loading.setLayoutParams(linearParam);
        view_custom_loading.setBackgroundColor(getContext().getResources().getColor(R.color.semi_trans));
        view_custom_loading.setPadding(10, 10, 10, 10);
        view_custom_loading.setOrientation(LinearLayout.HORIZONTAL);

        CircleView circle = new CircleView(getContext());
        circle.color = Color.RED;
        CircleView circle1 = new CircleView(getContext());
        circle1.color = Color.WHITE;
        CircleView circle2 = new CircleView(getContext());
        circle2.color = Color.BLUE;
        view_custom_loading.addView(circle);
        view_custom_loading.addView(circle1);
        view_custom_loading.addView(circle2);
        viewList.add(circle);
        viewList.add(circle1);
        viewList.add(circle2);

这是 CircleViews onDraw 方法:

@Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint p = new Paint();
        p.setColor(color);
        p.setAntiAlias(true);
        p.setStyle(Paint.Style.FILL);
        canvas.drawCircle(50, 50, 25, p);
    }

最佳答案

您的第一个圆圈可能有 MATCH_PARENT 宽度,这就是为什么它是您看到的唯一 View 。更改此参数

更新

尝试

view_custom_loading.addView(circle, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

关于java - LinearLayout addView 只添加一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33105012/

相关文章:

java - 无法使用java从selenium中的右键菜单中选择选项

android - android中super.method之前或super.method之后的逻辑是什么?

android - 小部件纵横比 1 :1 (square)

android - LinearLayout 被推离屏幕

android - LinearLayout android布局高度

Java - 转换为未知类型

java - 如何使用 XSD 和 JSON 或元素/值的 HashMap 作为输入,在 Java 中创建 XML

java - JVisualVM 内存采样 : Remote applications are not supported

java - Android 在 X 次尝试失败后阻止登录

java - SeekBar.java 有错误