我希望在TableLayout
中设置5行,使其具有气泡轮廓。 我想让每一行都有独立的弧形边缘和不同的底色。 是否可以使用TableLayout
实现这个效果? 目前,我只有一个基本的表格结构,其中包含3行,每行仅包含普通的TextView
。 感谢您的时间。
我希望在TableLayout
中设置5行,使其具有气泡轮廓。 我想让每一行都有独立的弧形边缘和不同的底色。 是否可以使用TableLayout
实现这个效果? 目前,我只有一个基本的表格结构,其中包含3行,每行仅包含普通的TextView
。 感谢您的时间。
这样可以吗?
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>
是的,可以为表格布局的不同行创建单独的布局。
可以尝试以下方法:
<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>
layer-lists
应该放在布局文件夹中还是任意选择的文件夹中? - kabuto178