我正在尝试将多个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>
答案 0 :(得分:2)
试试你的循环
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);