2013-05-28 14 views
2

我想在TableLayout中設置5行以獲得一種氣泡輪廓。我想要讓每一行用彎曲的邊緣和不同的陰影背景色隔開。是否有可能通過TableLayout完成這項工作?目前我只有3行的基本表結構,每行只包含一個正常的TextView。謝謝你的時間。TableLayout樣式的每一行

回答

5

是這樣的嗎?

row_blue_bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <shape android:shape="rectangle" > 
     <solid android:color="#2ca4ea"/> 
     <corners android:bottomRightRadius="5dp" 
       android:bottomLeftRadius="5dp" 
       android:topLeftRadius="5dp" 
       android:topRightRadius="5dp" />       

    </shape> 
</item> 
</layer-list> 

row_red_bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <shape android:shape="rectangle" > 
     <solid android:color="#e3977d"/> 
     <corners android:bottomRightRadius="5dp" 
       android:bottomLeftRadius="5dp" 
       android:topLeftRadius="5dp" 
       android:topRightRadius="5dp" />       

    </shape> 
</item> 
</layer-list> 

table_layout.xml

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

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:stretchColumns="*" 
    android:background="#373737" 
    > 
    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/row_red_bg" 
     > 

      <!-- First --> 
      <LinearLayout 
      android:id="@+id/first_text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_weight="1" > 

        <TextView 
        android:id="@+id/tvMyBooking" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:textColor="#ffffff" 
        android:gravity="center" 
        android:text="r11" 
        android:padding="5dp" 
        /> 

      </LinearLayout> 

     <!-- Second --> 
      <LinearLayout 
      android:id="@+id/second_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 

      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvPrivate" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r12" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 


      </LinearLayout> 

      <!-- third --> 
      <LinearLayout 
      android:id="@+id/third_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 

      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvPublic" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r13" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 



      </LinearLayout> 


      <!-- fourth --> 
      <LinearLayout 
      android:id="@+id/fourth_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 
      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvAddBooking" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r14" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 



      </LinearLayout> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/row_blue_bg" 
     > 

      <!-- First --> 
      <LinearLayout 
      android:id="@+id/first_text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_weight="1" > 

        <TextView 
        android:id="@+id/tvMyBooking" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:textColor="#ffffff" 
        android:gravity="center" 
        android:text="r21" 
        android:padding="5dp" 
        /> 




      </LinearLayout> 

     <!-- Second --> 
      <LinearLayout 
      android:id="@+id/second_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 

      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvPrivate" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r22" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 


      </LinearLayout> 

      <!-- third --> 
      <LinearLayout 
      android:id="@+id/third_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 

      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvPublic" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r23" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 



      </LinearLayout> 


      <!-- fourth --> 
      <LinearLayout 
      android:id="@+id/fourth_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 
      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvAddBooking" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r24" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 



      </LinearLayout> 

    </TableRow> 
    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/row_red_bg" 
     > 

      <!-- First --> 
      <LinearLayout 
      android:id="@+id/first_text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_weight="1" > 

        <TextView 
        android:id="@+id/tvMyBooking" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:textColor="#ffffff" 
        android:gravity="center" 
        android:text="r31" 
        android:padding="5dp" 
        /> 

      </LinearLayout> 

     <!-- Second --> 
      <LinearLayout 
      android:id="@+id/second_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 

      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvPrivate" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r32" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 


      </LinearLayout> 

      <!-- third --> 
      <LinearLayout 
      android:id="@+id/third_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 

      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvPublic" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r33" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 



      </LinearLayout> 


      <!-- fourth --> 
      <LinearLayout 
      android:id="@+id/fourth_text" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 
      android:layout_weight="1" > 

       <TextView 
        android:id="@+id/tvAddBooking" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="r34" 
        android:textColor="#ffffff" 
        android:padding="5dp" 
        /> 

      </LinearLayout> 

    </TableRow> 

</TableLayout> 

</LinearLayout> 
+0

將這些'圖層列表'放在佈局文件夾或我選擇的任何一個? – kabuto178

+0

@ kabuto178將圖層列表放入可繪製文件夾中,但不能將其放入佈局文件夾。 – TheFlash

+0

啊,好吧,從來沒有看過文件夾多大聲笑 – kabuto178

2

是的,它是possib le爲表格佈局的不同行創建單獨的佈局。

嘗試是這樣的:

<TableLayout 
     android:orientation="vertical" 
     android:layout_gravity="center_horizontal" 
     android:gravity="center_horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <TableRow 
      android:layout_width="match_parent" 
      android:layout_marginTop="30dp" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 
      <RelativeLayout    
       android:id="@+id/dashboard1BtnMyOwn" 
       android:clickable="true" 
       android:background="@drawable/click_effect_dashboard" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_margin="5dp" 
       > 
       <ImageView 
        android:id="@+id/dashboard1ImgMyOwn" 
        android:layout_width="45dp" 
        android:contentDescription="@string/myOwned" 
        android:layout_height="45dp" 
        android:gravity="center" 
        android:layout_centerHorizontal="true" 
        android:src="@drawable/personal" 
        /> 
       <TextView 
        android:id="@+id/dashboard1TxtMyOwn" 
       android:layout_width="95dp" 
        android:layout_height="wrap_content" 
        android:lines="2" 
        android:textSize="20sp" 
        android:gravity="center" 
        android:layout_below="@id/dashboard1ImgMyOwn" 
        android:text="@string/myOwned" 
        /> 
      </RelativeLayout> 
      <TableRow/> 
      .... 

使用自定義繪製對象爲RelativeLayout的內部的TableRow的邊界,如:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient android:startColor="@android:color/holo_blue_light" android:endColor="@android:color/holo_blue_light" 
      android:angle="270"/> 

    <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
    android:topLeftRadius="7dp" android:topRightRadius="7dp"/> 
</shape> 

這應該是結果(設置自己的形象): enter image description here