2

今度は私のためにAndroidを探索する時が来ました。以下に示す1つのUIを設計しました。問題は、9x9グリッドを取得するために最初のフレームで何をすべきか混乱していることです。実際、forループを使用して各セルに81個のJTextFieldsを配置し、gridbaglayoutを使用してコアJavaで開発したものと同じものを使用して、アプリケーションを完全に機能させました。しかし、Androidでは、xmlで9x9セルを定義するにはどうすればよいですか。そうすれば、数独ルールを検証するために、数値を受け入れ、入力した数値も取得する必要があります。以下は私のコードと図です。フレーム1を9x9セルにする方法を誰かが提案できますか?xmlファイルでTextEditを使用すると、81のテキストフィールドになり、Canvasを使用すると(考えているのですが、それが可能かどうかはわかりません)、数字を受け入れて、そのキャンバスボードから取得することは不可能のように思えます。誰かが助けてくれたら本当にありがたいです。私はAndroidを初めて使用するので、ばかげた質問(2日間試したので、そうしないことを望んでいます)に思われる場合は、簡単に行ってください。前もって感謝します。

<?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:orientation="vertical">
        <FrameLayout
                android:id="@+id/fLayout1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="2"
                android:background="#0f0"
        />
        <FrameLayout
                android:id="@+id/fLayout2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="3"
                android:background="#00f">

        <TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keypad"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*">

<TableRow >
    <Button android:id="@+id/cancel"
        android:text="cancel"
        android:layout_span="3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
</TableRow>
<TableRow>
    <Button android:id="@+id/submit"
        android:text="validate"
        android:layout_span="3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >

    </Button>
</TableRow>
</TableLayout>

        </FrameLayout>
</LinearLayout>

これがUIです

ここに画像の説明を入力してください

4

3 に答える 3

5

GitHubからこのOpenSudokuプロジェクトを見てください。ここでは、数独のレイアウトとソースコードを見つけることができます。

数独ビューのres/layout/sudoku_edit.xmlを確認 してください。

于 2012-08-27T10:56:19.993 に答える
4

グリッドビューを使用することをお勧めします

GridViewは、2 次元のスクロール可能なグリッドに項目を表示する ViewGroup です。グリッド アイテムは、ListAdapter を使用して自動的にレイアウトに挿入されます。

于 2012-08-27T10:57:37.713 に答える
3
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<GridView
    android:id="@+id/gridView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:numColumns="9" 

>
</GridView>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
  <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />

于 2012-08-27T10:57:23.890 に答える