0

我有一个带有这个布局 xml 的自定义列表视图

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

 <TableLayout
     android:id="@+id/tableLayout1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal" >

     <TableRow android:gravity="center" >

          <ImageView
             android:id="@+id/image"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="left"
             android:gravity="left"/>

         <TextView
             android:id="@+id/headline"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center|center_horizontal"
             android:gravity="center"/>

     </TableRow>
 </TableLayout>

它工作正常,但我希望图像按钮在左侧对齐,文本视图在中心对齐。

搜索了很多我发现在 tablerow 上使用重力我可以对齐 tablerow 内容,但是 imageview 重力和 textview 重力似乎没有效果

这种布局使它看起来像

[    Image text    ]

我希望它看起来像

[Image   text      ]

所以图像左对齐,textview居中,但我不想使用固定分隔,因为文本是动态加载的,我不知道它的长度

有人能帮我吗?

对不起,我的英语不好

4

1 回答 1

1

使用这个 xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

 <TableLayout
     android:id="@+id/tableLayout1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal" >

     <TableRow  >

          <ImageView
             android:id="@+id/image"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="left"
             android:gravity="left"
             android:src="@drawable/ic_launcher"/>

         <TextView
             android:id="@+id/headline"
             android:layout_width="0dp"
             android:layout_weight="1"
             android:layout_height="wrap_content"
             android:layout_gravity="center|center_horizontal"
             android:gravity="center"
             android:text="Text"/>

     </TableRow>
 </TableLayout>

</LinearLayout>
于 2013-04-09T09:14:46.897 回答