2012-02-12 96 views
0

我用tablelayout而不是自定义标题标题栏如何把图标放在android表格布局的右侧?

现在我的布局,就像我在下面,我想把2图标和文本右对齐,但是当我使用android:layout_gravity="right"似乎行不通的XML,所以我该怎么做?

这是我的布局XML:

< ? xml version="1.0" encoding="utf-8"?> 
    < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" >  
     <TableLayout 
      android:id="@+id/tableLayout1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:background="#4494D1" > 

      <TableRow 
       android:id="@+id/tableRow1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right" > 

       <LinearLayout 
        android:id="@+id/linearLayout3" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" > 

        <TextView 

         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:text="简易尺子" 
         android:textColor="#fff" 
         android:textSize="25dp" 
         android:layout_marginTop="5dp" 
         android:layout_marginLeft="15dp" 
         /> 

       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/linearLayout1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" 

        > 

        <ImageButton 
         android:id="@+id/imageButton1" 
         android:layout_width="28dp" 
         android:layout_height="28dp" 
         android:background="@drawable/android2" 
         android:layout_marginLeft="15dp" 
         android:layout_marginRight="15dp" 
         android:layout_marginTop="5dp"/> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center" 
         android:text="关于" 
         android:textColor="#fff" /> 

       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/linearLayout2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:orientation="vertical" > 

        <ImageButton 
         android:id="@+id/imageButton2" 
         android:layout_width="28dp" 
         android:layout_height="28dp" 
         android:background="@drawable/programs" 
         android:layout_marginLeft="15dp" 
         android:layout_marginRight="15dp" 
         android:layout_marginTop="5dp" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center" 
         android:text="帮助" 
         android:textColor="#fff" /> 

       </LinearLayout> 
      </TableRow> 
     </TableLayout> 

    <SurfaceView 
     android:layout_width="match_parent" 
     android:id="@+id/surfaceView1" 
     android:layout_height="match_parent"> 
    </SurfaceView> 
</LinearLayout> 

回答

0

设置不影响TextView并在的TableRow的ImageView的定位布局重心,而这将使他们在包装LinearLayout这是不相当你所需要的。我建议你定义下列属性您TableLayout

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_width="wrap_content" 
    android:stretchColumns="0,1"> 

这将使生的前两列扩展,从而缩小了最右边的列在右边。

NOTE(重要)目前你没有定义的有效布局:你有在LinearLayoutTableRow - 这是不允许的 - 你应该把行TableLayout像我已经定义了一个。

+0

这是为我工作,非常感谢你! – chanjianyi 2012-02-12 10:31:29

0
try this 


<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 


    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="5dip" > 

      <TextView 
       android:id="@+id/textView2" 
       android:text="简易尺子" 
       android:textAppearance="?android:attr/textAppearanceLarge" /> 

      <RelativeLayout 
       android:id="@+id/relativeLayout2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:gravity="right" > 

       <ImageButton 
        android:id="@+id/imageButton1" 
        android:layout_width="28dp" 
        android:layout_height="28dp" 
        android:layout_marginRight="10dp" 
        android:layout_toLeftOf="@+id/imageButton2" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/imageButton1" 
        android:layout_marginRight="10dp" 
        android:layout_toLeftOf="@+id/text2" 
        android:text="关于" 
        android:textColor="#fff" /> 

       <ImageButton 
        android:id="@+id/imageButton2" 
        android:layout_width="28dp" 
        android:layout_height="28dp" 
        android:layout_alignParentRight="true" /> 

       <TextView 
        android:id="@+id/text2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_below="@+id/imageButton2" 
        android:text="帮助" 
        android:textColor="#fff" /> 
      </RelativeLayout> 
     </TableRow> 
    </TableLayout> 

    <SurfaceView 
     android:id="@+id/surfaceView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@+id/tableLayout1" > 
    </SurfaceView> 

</RelativeLayout> 
相关问题