1

好的,这是关于在 Android 中的表中定位对象的另一个问题,但我在 Stack 上发现的任何内容都没有帮助。

我希望ImageView下面的 XML 在其单元格中左对齐。但是,无论我尝试了什么,它都不会这样做(它总是居中)。和设置为控制单元格本身的位置和大小layout_widthlayout_weight不过,也许这些设置使得无法ImageView在其单元格中左对齐。

android:layout_gravity="left"并且android:gravity="left"在 ImageView 标记或 TableRow 标记中都不起作用。一种似乎可行的 kludgy 解决方案是在第三列中添加一个空白 TextView,以强制保存 ImageView 的第二列正好是ImageView位图的宽度。但是,我不想这样做,特别是因为不同的行可能包含不同宽度的位图。

<TableLayout
     android:id="@+id/scoreTable"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_alignParentBottom="true"
     android:layout_alignParentLeft="true" >

     <TableRow
         android:id="@+id/thisWeek"
         android:layout_width="wrap_content"
         android:layout_height="fill_parent" >

         <TextView
             android:id="@+id/thisWeekText"
             android:layout_width="0px"
             android:layout_height="30dp"
             android:layout_weight="35"
             android:gravity="right"
             android:paddingRight="30px"
             android:text="@string/thisWeek"
             android:textStyle="bold" />


         <ImageView
             android:id="@+id/chevron1"
             android:layout_width="0px"
             android:layout_height="20dp"
             android:layout_weight="65"
             android:layout_marginLeft="0px"
             android:src="@drawable/doser_scale4a"
             android:visibility="visible" />


     </TableRow>
4

2 回答 2

0

我使用 TextViews 中文本的位图将 TextViews 替换为 ImageViews。这对我来说没问题,因为该文本不会改变,但我想如果它改变了,我可以为所有可能的文本创建图像并在这些图像之间切换。

这不是一个理想的解决方案,因为我假设使用位图而不是文本会占用更多内存,并且为我的文本制作位图需要一些时间和精力,并且会牺牲更改文本的易用性和灵活性,如果在某些时候需要的话,但我不知道如何使用 TextViews 进行这项工作。Android 显然在这种方式上受到了限制,因为在表格单元格中以任何方式对齐文本应该不难,不是吗?

于 2012-09-26T17:49:51.003 回答
0

TableRow 的每个“单元格”都是一个视图,因此您可以放置​​一个 LinearLayout(具有您喜欢的重力)并将您的图像放入此 LinearLayour 中。

于 2013-08-20T05:47:44.973 回答