0

いくつかのボタンで構成される TableLayout があります。TableLayout の周りに四角形を描画したい。どうすればこれができるのかわかりません。私の調査から、ビューを拡張し、このビューの onDraw イベントを使用する必要があることがわかりました。しかし、私が混乱している点は、「ビュー内にTableLayoutを含めるにはどうすればよいですか」ということです。

ご回答ありがとうございます。

私のサンプルコードは

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/numkeypad"
         android:orientation="vertical"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:stretchColumns="*"
         android:layout_gravity="bottom"
         android:visibility="visible"
         android:background="@color/contents_text"
    >
<TableRow>
    <LinearLayout android:layout_height="wrap_content"
                  android:layout_width="0dp"
                  android:background="#404040"
                  android:layout_span="2">
        <Button android:id="@+id/Test1"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_weight="1"
                android:textColor="#000000"
                android:text="Test1"
                android:textSize="20dp"
                android:textStyle="bold"
                >
        </Button>
        <Button android:id="@+id/Test2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_weight="1"
                android:textColor="#000000"
                android:text="Test2"
                android:textSize="20dp"
                android:textStyle="bold"
                >
        </Button>
    </LinearLayout>
</TableRow>
<TableRow>
    <LinearLayout android:layout_height="wrap_content"
                  android:layout_width="0dp"
                  android:background="#404040"
                  android:layout_span="2">
        <Button android:id="@+id/Test11"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_weight="1"
                android:textColor="#000000"
                android:text="Test11"
                android:textSize="20dp"
                android:textStyle="bold"
                >
        </Button>
        <Button android:id="@+id/Test22"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_weight="1"
                android:textColor="#000000"
                android:text="Test22"
                android:textSize="20dp"
                android:textStyle="bold"
                >
        </Button>
    </LinearLayout>
</TableRow>

</TableLayout>

そして、私が持っている出力は

ここに画像の説明を入力

そして、私が欲しいのは次のようなものです

ここに画像の説明を入力

4

1 に答える 1

0

FrameLayout を拡張して、onDraw()メソッドでその寸法に従って長方形を描画できます (もちろん、 super .onDraw()を呼び出した後)。拡張クラスは com.example.MyFrameLayout だとします。

次に、次のレイアウトを宣言できます。

<?xml version="1.0" encoding="utf-8"?>
<com.example.MyFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/numkeypad"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:stretchColumns="*"
        android:layout_gravity="bottom"
        android:visibility="visible"
        android:background="@color/contents_text">

        ...
    </TableLayout>
</com.example.MyFrameLayout>
于 2012-10-14T12:09:43.443 に答える