以编程方式将多个图像添加到LinearLayout

3

我尝试将多个ImageView添加到LinearLayout中。该LinearLayout在xml中已定义,但我正在尝试使用代码创建ImageViews。到目前为止,我的代码只能在中间创建一个图像,即使我尝试多次添加视图也是如此。

这是我的主要方法:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    LinearLayout lay = (LinearLayout)findViewById(R.id.layout);
    ImageView[] views = new ImageView[10];
    for (int i=0;i<10;i++){
        views[i] = new ImageView(this);
        views[i].setImageResource(R.drawable.redeight);
        lay.addView(views[i]);
    }
}
}

这里是xml文件:
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/layout"
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 </LinearLayout>

可能会使用 RecyclerView 和 ViewPager? - Ashish Kumar
@zamsler,你解决了你的问题吗?我也有同样的问题。 - Angelina
1个回答

2

在你的for循环中尝试这个

ImageView iv = new ImageView(this);
ViewGroup.LayoutParams params = iv.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT; // Or a custom size
params.width = ViewGroup.LayoutParams.WRAP_CONTENT; // Or a custom size
iv.setLayoutParams(params);
iv.setImageResource(R.drawable.redeight);

views[i] = iv;
lay.addView(iv);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接