TableLayout - TextView和ImageView内联

时间:2016-04-18 19:41:16

标签: java android android-fragments

我构建了一个应用程序,可以动态地将TextViews和ImageViews添加到TableLayout中。我面临一个小问题,我不能让ImageView与TextView字段一起显示。在我的片段中,我从服务器返回结果并将其显示在布局中。

我尝试了几种方法,例如将TextView的重力设置为中心垂直,如下所示 我尝试限制文本字段的宽度,但它不会起作用。

    firstRow.setGravity(Gravity.CENTER_VERTICAL);

这是我的行填充方式:

    businessNameRow.addView(businessNameField);

我动态添加集合,每个集合包含7行TextView行和每行1个ImageView,如下所示:

TableRow firstRow = new TableRow(getActivity().getApplicationContext());
TableRow secondRow = new TableRow(getActivity().getApplicationContext());
TableRow thirdRow = new TableRow(getActivity().getApplicationContext());
TableRow fourthRow = new TableRow(getActivity().getApplicationContext());
TableRow fifthRow = new TableRow(getActivity().getApplicationContext());
TableRow sixthRow = new TableRow(getActivity().getApplicationContext());
TableRow imageRow = new TableRow(getActivity().getApplicationContext());
TableRow seventhRow = new TableRow(getActivity().getApplicationContext());

然后我只是将行添加到表

final TableLayout tl = (TableLayout)root.findViewById(R.id.tableResultsGPS);

tl.addView(firstRow); //And so on

我的TableLayout放在ScrollView中,因此我可以滚动浏览结果列表。

附上我想要实现的图像和现在的样子。 enter image description here

1 个答案:

答案 0 :(得分:0)

似乎您尝试实现的内容更适合ListView实施。

总体思路:

  • 创建一个列表项,其中包含单个项目的布局(您的文本视图和图像)
  • 创建一个为每个项目建模的新类
  • 使用列表视图,将数据绑定到ListView。

有很多教程。 Try this

备注:布局选择的好建议是ListView项目的相对布局。由于其灵活性,我个人最喜欢的一个。