2012-02-29
Tags: android
一般而言,在android上要畫格線(e.g. 畫個類似田字的格線),直接操作2D API是最省事的。但是...這不代表你只能用2D API來做這事,其實用系統的LayoutManager配合貼圖的方式也辦的到;而且利用貼圖的方式,你就不用自己在那辛苦的算XY軸位置,也不用擔心程式在不同size的android手機上畫出來的圖型會走樣。
要達成這個目的,可以用Nine-patch的技巧(請參考
官方說明)輕松完成。
假設想畫出如下的圖型
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:gravity="center" android:orientation="vertical">
<TableLayout android:id="@+id/tableLayout1"
android:layout_width="200dp" android:layout_height="wrap_content"
android:background="@drawable/corner1" android:stretchColumns="*">
<TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/textView1" android:layout_width="wrap_content"
android:layout_height="100dp" android:background="@drawable/corner2"
android:gravity="center" android:text="A" />
<TextView android:id="@+id/textView2" android:layout_width="wrap_content"
android:layout_height="100dp" android:background="@drawable/corner2"
android:gravity="center" android:text="B" />
</TableRow>
<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/textView3" android:layout_width="wrap_content"
android:layout_height="100dp" android:background="@drawable/corner2"
android:gravity="center" android:text="C" />
<TextView android:id="@+id/textView4" android:layout_width="wrap_content"
android:layout_height="100dp" android:background="@drawable/corner2"
android:gravity="center" android:text="D" />
</TableRow>
</TableLayout>
</LinearLayout>