如何将ImageView与TextView结合起来

时间:2014-10-20 14:28:04

标签: android android-layout

我想在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);

2 个答案:

答案 0 :(得分:0)

听起来你正在尝试制作一个滚动列表,其中列表中的每个项目都是图片和标题文本,对吗?

您是否考虑在ArrayAdapter中使用ListView并在适配器的getView()中使用ImageView来扩充包含TextView的布局文件{{1}}?

答案 1 :(得分:0)

您可以在xml中创建自定义布局,ImageViewTextView按照您想要的方式为每个项目排列。

  • AbsoluteLayout
    • TextView(在ImageView上方)
    • ImageView的

然后,当您动态获取图片时,使用 LayoutInflater 对此自定义布局进行充气,并为TextView分配所需的文字和ImageView与所需的图像。接下来,您将获取膨胀的视图并将其作为子项添加到LinearLayout。迭代你的图像,并做到这一点,你应该有所需的外观。

编辑:如果您有许多可能需要滚动的图片,则必须将LinearLayout包裹在ScrollView中,以便在LinearLayout过大时允许滚动。

正如其他人刚刚提到的那样,ListView将采用自定义xml布局并使用适配器等以相同的方式对它们进行充气,并且它将为您处理滚动。 ListView link example