android tablelayout固定列 - 没有获得理想的结果

时间:2015-04-15 00:18:32

标签: android android-layout layout tablelayout

我是Android开发的新手。

我尝试使用LinearLayout,最后使用TableLayout

我需要一个包含3列的简单固定可滚动表格,但我无法获得单个列表行来执行我需要的操作...我有ListViewListActivity及其{{{} 1}}已排序。

基本上我想要:

  • 具有所有固定宽度的3列,但调整到不同的屏幕 尺寸(因此百分比?)
  • 第一列有标题,应该是最大的。如果文本超出了空格,则椭圆化
  • 第二列是价格
  • 第三列是一个图标,应该是最右边的
Adapter

这是我最新的xml:

|-----------------------------------------|
| This title exceeds th....|  $500 | Icon |
| This title fits          | $1000 | Icon |
| Other title              |   $25 | Icon |
| Another long title th... | $1200 | Icon |
|-----------------------------------------|

结果是有时图标不在最右边,标题文字没有固定的宽度......

我搜索了很多问题并尝试了很多东西(参见<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TableRow> <TextView android:id="@+id/title" android:layout_height="45dip" android:layout_width="wrap_content" android:layout_marginRight="10dip" android:layout_weight="6" android:ellipsize="end" android:singleLine="true" android:text="A long Title it is" android:textSize="24sp" /> <TextView android:id="@+id/price" android:layout_width="wrap_content" android:layout_height="45dip" android:layout_weight="3" android:layout_marginRight="10dip" android:ellipsize="marquee" android:singleLine="true" android:text="Price" android:textSize="24sp" /> <ImageButton android:layout_weight="1" android:id="@+id/cart" android:gravity="end" android:src="@drawable/cart" android:layout_width="45dp" android:layout_height="30dp" > </ImageButton> </TableRow> </TableLayout> ),但到目前为止它似乎没有用。感谢。

1 个答案:

答案 0 :(得分:1)

在表格行(或线性布局的水平方向)中,建议在处理android:layout_width="0dp"时使用android:layout_weight

请尝试将layout_width属性设置为0dp。我认为它可以工作。