2012-02-12 95 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> 
相關問題