2

forループで N 個のボタンを作成していますOnClickListener。ユーザーは各ボタンをクリックして数値を設定できます。その後TextView、ボタンのすぐ上と真ん中に数字を表示したい。

私が欲しいものの例

これはまさに私が欲しいものです。グレーの背景がボタン、数字がTextView.

私が今持っているコード:

        for (int toShow = 0; toShow < nShips; toShow++)
            {
                btn = new Button(this);
                btn.setBackgroundResource(shipDrawable.get(ima));
                btn.setLayoutParams(params);
                row[pos].addView(btn);
                btn.setId(shipId.get(ima));
                btn.setOnClickListener(listeners);
                if (row[pos].getChildCount() == 3) pos++;
                ima++;
            }

forループ内でこれを使用してみました:

float x = btn.getX(), y = btn.getY();
                TextView level = new TextView(this);
                level.setText("5");
                level.setX(x); level.setY(y);

しかし、うまくいきませんでした。欲しいものを手に入れるために何を使えばいいですか?

4

2 に答える 2

2

b ボタンに画像を表示したい場合は、ImageButton を使用する必要があります。ボタンと画像ボタンの違いは、ボタンではボタンにテキストを表示でき、ImageButtonではボタンのすべての機能とともにボタンに画像を表示できます

于 2012-03-26T09:55:34.280 に答える
2

KrLx_roller私が得たのは、ボタンにテキストを配置したいということです。このようにテキストを追加できる隔壁テキストビューを取得する必要はありません

    Button textOne = new Button(this);

    textOne.setText("5");
    textOne.setBackgroundResource(R.drawable.img);
    textOne.setGravity(Gravity.CENTER);
    textOne.setTextColor(Color.RED);
于 2012-03-26T10:51:14.680 に答える