1

画像とテキスト文字列を表示する次のレイアウトがあります。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center" >

    <ImageView
        android:id="@+id/ivIcon"
        android:layout_width="@dimen/number_icon"
        android:layout_height="@dimen/number_icon"
        android:scaleType="fitXY"
        android:layout_marginTop="@dimen/letter_icon_margin_top" />
    <Button
        android:id="@+id/btnNumber"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="5dp"
        android:layout_weight="3"
        android:text=""
        android:gravity="center"
        android:textSize="@dimen/word_size_text"
        android:textColor="#000000"
        android:textStyle="bold"
        android:background="@drawable/borderaction" />
    </LinearLayout>

ivIcon、ユーザー入力に基づいて画像を表示しています。文字ごとに1つの画像を表示する場合、うまく機能しました。しかし、ユーザーの選択に基づいて画像の数が表示されるように、上記のレイアウトを修正するにはどうすればよいですか。

@dimen画面に基づいて表示サイズを変更するために使用されます。

たとえば、これを手紙に使用すると、次のようになります。

ここに画像の説明を入力

5数値については、ユーザーが表示を選択した場合は次のようになります。

ここに画像の説明を入力

ユーザーが選択した場合1、ディスプレイは次のようになります。

ここに画像の説明を入力

文字の画像を設定するコードは次のとおりです。

ivLetterIcon = (ImageView) findViewById(R.id.ivIcon);
ivLetterIcon.setImageResource(R.drawable.apple);

数字の画像をどのように達成しますか?

画像のない空白のレイアウトを用意し、実行時に数に応じて ImageView を追加し、中央に配置するのが最善でしょうか? このようにして、画像は親ビューのレイアウトの中央に配置されますか?

4

2 に答える 2

1

これを試してみるのもいいかもしれません。画面に応じて列番号と行番号を動的に変更して、リンゴの数を表示する GridView を使用してみてください。たとえば、gridView が GridView で、入力された数値が 11 の場合、これを行うことができます。

gridView.setNumberOfColumns(5);
gridView.setNumberOfRows(3);

そのため、5x3 は 11 に簡単に収まる 15 の要素に対応できます。

次に、Apple を含むカスタム ビューを列にインフレートします。

于 2013-08-25T13:12:08.843 に答える