在TableRow中心对齐ImageView

问题描述:

我有在TableLayout(TableRow)中居中映像的问题。 ImageView总是在左侧,我需要将他置于中心位置。在TableRow中心对齐ImageView

这里是XML:

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

    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

     <TableRow 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      > 
      <ImageView 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:src="@drawable/logo" 
       android:id="@+id/imageView" 
      /> 
     </TableRow> 
    </TableLayout> 

    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_margin="10dp" 
     android:layout_weight="1"> 
    <TableRow 
      . 
      . 

有版面图:screenshot

我怎样才能做到这一点?非常感谢您的帮助。

问候,切赫

更新您的布局像这样

<TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" > 

     <TableRow 
      android:gravity="center_horizontal|center_vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" > 

      <ImageView 
       android:id="@+id/imageView" 
       android:background="@drawable/ic_launcher" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:src="@drawable/logo" /> 
     </TableRow> 
    </TableLayout> 
+0

太棒了,这就解决了我的问题!谢谢... – Jodynek

您可以添加android:gravity="center"到您的TableRow的XML定义。

+1

这应该是公认的答案。确切地告诉你需要什么,而不是一堆无关紧要的东西。 –

尝试android:layout_span="2"ImageView

<TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

     <TableRow 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center"> 
      <ImageView 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:src="@drawable/logo" 
       android:id="@+id/imageView" 
       android:layout_span="2"/> 
     </TableRow> 
    </TableLayout>