【问题标题】:Add multiple views to layout programatically - only 1 view is visible以编程方式向布局添加多个视图 - 只有 1 个视图可见
【发布时间】:2014-10-21 11:31:38
【问题描述】:

问题是只有第一个视图是可见的。如果我在视图 2 之前添加视图 1,则只有视图 1 可见。如果我在视图 1 之前添加视图 2,则只有视图 2 可见。我确实尝试过 setVisibility 但......没有运气:(

这是我的代码:

   LinearLayout ver_layout = new LinearLayout(this);
        ver_layout.setOrientation(LinearLayout.VERTICAL);

    //create an image view
    ImageView iv_ava = new ImageView(this);
    iv_ava.setImageResource(R.drawable.sss);
    // add it to my vertical layout
    ver_layout.addView(iv_ava, new LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    //create a text view
    TextView tv_name = new TextView(this);
    tv_name.setText("testing");
    //add it to my vertical layout
    ver_layout.addView(tv_name, new LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    //after adding 2 views to a vertical layout, I add that layout to a 
    //horizontal linear layout, which is a layout defined in xml
    LinearLayout hori_layout = (LinearLayout) view
            .findViewById(R.id.hori_layout);
    hori_layout.addView(ver_layout, new LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

【问题讨论】:

  • 你在哪里创建iv_avatv_name
  • 有ver_layout wrap_content吗?
  • 我用代码创建了 iv_ava 和 tv_name(我编辑了)。我已经尝试使用 ver_layout.setLayoutParams(new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 设置 ver_layout wrap_content ....还是一样

标签: android view add


【解决方案1】:

查看我的代码几个小时后,我意识到我导入了错误的 LayoutParams。它应该是 android.view.ViewGroup.LayoutParams 而不是 android.view.WindowManager.LayoutParams

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多