好的,这是关于在Android中的表中定位对象的另一个问题,但我在Stack上找到的任何内容都没有帮助。
我希望下面的XML中的ImageView
在其单元格中保持对齐。不管我试过什么,它都不会这样做(它始终居中)。设置layout_width
和layout_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>
答案 0 :(得分:0)
我使用ImageViews替换了TextViews,使用了TextViews中文本的位图。这对我来说没关系,因为该文本不会改变,但我想如果它确实如此,我可以为所有可能的文本创建图像并在这些图像之间切换。
这不是一个理想的解决方案,因为我假设使用位图而不是文本使用更多内存,并且为我的文本制作位图需要一点时间和精力,并且如果需要,可以牺牲更改文本的简易性和灵活性在某些时候,但我无法弄清楚如何使用TextViews。 Android肯定会以这种方式受到限制,因为在表格单元格中以任何方式对齐文本应该不是那么困难,不是吗?
答案 1 :(得分:0)
TableRow的每个“单元格”都是一个视图,因此您可以放置一个LinearLayout(使用您的首选重力)并将此LinearLayour放入您的图像中。