3

我想在 a 中设置 5 行TableLayout以获得一种气泡轮廓。我想让每一行都用弯曲的边缘和不同的阴影背景颜色来隔离。是否有可能用 a 来完成这项工作TableLayout?目前我只有一个基本的表结构,有 3 行,每行只包含一个普通的TextView. 谢谢你的时间。

4

2 回答 2

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>
于 2013-05-28T05:49:30.673 回答
2

是 可以为表格布局的不同行创建单独的布局。

尝试这样的事情:

<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/>
            ....

为 TableRow 内的 RelativeLayout 使用自定义 Drawable 用于边框,例如:

<?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> 

这应该是结果(设置您自己的图像): 在此处输入图像描述

于 2013-05-28T05:50:58.717 回答