我想在LinearLayout中填充动态ImageView。另外我喜欢在每个ImageView的顶部包含一个TextView。使用xml文件以静态方式实现这一点是没问题的,但我不知道如何实现这个问题?
例如,我从图库中选择了5张图片,并排显示所有图片。在每张图片的顶部,您都可以看到图片的名称。
[编辑]
LayoutInflater inflatter=(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout myLayout = (LinearLayout)findViewById(R.id.mylinlayout);
// AbsoluteLayoute has got an ImageView and a TextView
AbsoluteLayout test = (AbsoluteLayout)inflatter.inflate(R.layout.test2, null, false);
TextView texttest = (TextView)test.findViewById(R.id.name);
ImageView image=(ImageView)test.findViewById(R.id.image);
texttest.setText("test");
myLayout.addView(test);
答案 0 :(得分:0)
听起来你正在尝试制作一个滚动列表,其中列表中的每个项目都是图片和标题文本,对吗?
您是否考虑在ArrayAdapter
中使用ListView
并在适配器的getView()
中使用ImageView
来扩充包含TextView
的布局文件{{1}}?
答案 1 :(得分:0)
您可以在xml中创建自定义布局,ImageView
和TextView
按照您想要的方式为每个项目排列。
然后,当您动态获取图片时,使用 LayoutInflater 对此自定义布局进行充气,并为TextView
分配所需的文字和ImageView
与所需的图像。接下来,您将获取膨胀的视图并将其作为子项添加到LinearLayout
。迭代你的图像,并做到这一点,你应该有所需的外观。
编辑:如果您有许多可能需要滚动的图片,则必须将LinearLayout
包裹在ScrollView
中,以便在LinearLayout
过大时允许滚动。
正如其他人刚刚提到的那样,ListView将采用自定义xml布局并使用适配器等以相同的方式对它们进行充气,并且它将为您处理滚动。 ListView
link 和 example 。