android - TableViewのアイコンメニュー(Google+のような)

原文 android android-tablelayout

Androidアプリケーションのアイコンベースのメインメニューに取り組んでいます(添付画像-Google+を参照)。このための明白なレイアウトはTableLayoutです。



ただし、テーブル自体とアイコンを中央に配置する方法についてはわかりません。私が思いついたコードは次のとおりです(結果の画像はコードの下にあります):

<TableLayout android:layout_width="fill_parent" android:id="@+id/tableLayout1" android:layout_height="fill_parent" android:stretchColumns="1" android:padding="20dp">
    <TableRow android:id="@+id/tableRow1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="20dp"  >
        <Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"></Button>
        <Button android:text="Button" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"></Button>
    </TableRow>
    <TableRow android:id="@+id/tableRow2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="20dp" >
        <Button android:text="Button" android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" ></Button>
        <Button android:text="Button" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"></Button>
    </TableRow>
</TableLayout>




ヒントやアイデアはありがたいです。
答え
必要に応じてプログラムのメインメニューを作成しました。密度には依存しませんが、スクロールビューに配置して、どこでも使用できることを確認しています。
必要に応じてボタンをimagebuttonsに変更して、必要なメニューを取得できます。

コードの簡単な説明:


すべての行には、プレースホルダーとして、左側と右側にテキストビューがあります。 tablelayout'a android:stretchColumns = "0,3"は、テキストビューを拡大してボタンの横のスペースを埋めます。
マージンを変更して、ボタン同士を近づけたり遠ざけたりすることができます。


そして今ここにXMLがあります:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableLayout android:layout_gravity="center" 
        android:layout_width="match_parent" android:layout_height="match_parent"
        android:stretchColumns="0,3">
        <TableRow android:layout_gravity="center">
            <TextView />
            <Button android:text="1" android:layout_margin="15dp"
                android:layout_gravity="center_vertical"
                android:width="100dip" android:height="100dip" />
            <Button android:layout_gravity="center_vertical" 
                android:text="2" android:layout_margin="15dp"
                android:width="100dip" android:height="100dip" />
            <TextView />
        </TableRow>

        <TableRow android:layout_gravity="center">
            <TextView />
            <Button android:text="3"  android:layout_margin="15dp"
                android:layout_gravity="center_vertical"
                android:width="100dip" android:height="100dip" />
            <Button android:text="4"  android:layout_margin="15dp"
                android:layout_gravity="center_vertical"
                android:width="100dip" android:height="100dip" />
            <TextView />
        </TableRow>

        <TableRow android:layout_gravity="center">
            <TextView />
                <Button android:text="5"  android:layout_margin="15dp"
                android:layout_gravity="center_vertical"
                android:width="100dip" android:height="100dip" />
            <Button android:text="6"  android:layout_margin="15dp"
                android:layout_gravity="center_vertical"
                android:width="100dip" android:height="100dip" />
            <TextView />
        </TableRow>
    </TableLayout>
</ScrollView>


これは次のようになります。
http://db.tt/yQ5NFhmk
関連記事

android - ユーザーがAndroidアプリで間違ったパスコード(ロック画面)を入力したかどうかを知る方法

android - 画面の向きを変更した後にブロードキャストレシーバーがクラッシュし、機能しない

android - ギャラリーから選択したPicasa画像のサムネイルを取得するにはどうすればよいですか?

java - Androidアクティビティにバルーンヒントを表示する

android - Androidで動的にアクセス許可を付与する方法、つまりアプリケーションの実行中に、これは実現可能ですか?

android - android:リストビューの行を編集するにはどうすればよいですか?

android - トーストに使用されるコンテキスト

android - アプリケーション用のXMLまたはデータベースのカスタム連絡先データ?

android - Android:タブレットHoney Combのメモリ不足例外

javascript - Android Webkitで動作するJavaScriptデバッガー