3

テキストと背景のドローアブルを使用して、プログラムで TextView を作成しました。テキストを TextView の中央に配置したいのですが、テキストが中央に配置されました。

ここに画像の説明を入力

TextView でテキストを中央に配置するコードは次のとおりです。

protected class TileView extends TextView{
    private int tileType;
    private int col;
    private int row;

protected TileView(Context context, int row, int col, int tileType) {

    super(context);
    this.col = col;
    this.row = row;
    this.tileType = tileType;

    String result = Integer.toString(RandomNumber(1,9));            
    Drawable image = getResources().getDrawable(tile_id[tileType]);
    setBackgroundDrawable(image);
    setClickable(true);
    setText(result);        
    setTextAppearance(context, R.style.boldText);           
    setOnClickListener(GameView.this);
}
}

ここに onLayout() の私のコードがあります

int left = oneFifth * tileView.getCol();
int top = oneFifth * tileView.getRow();
int right = oneFifth * tileView.getCol() + oneFifth;
int bottom = oneFifth * tileView.getRow() + oneFifth;
tileView.layout(left, top, right, bottom);
tileView.setGravity(Gravity.CENTER);

TextView でテキストを中央に配置するにはどうすればよいですか?

4

4 に答える 4

3

この希望を試してみてください。

textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);   

 yourTextView.setGravity(Gravity.CENTER);

このリンクを確認してください

于 2013-01-30T14:33:15.770 に答える
2

次のようにできます。

textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
于 2013-01-30T14:34:36.933 に答える
1

次のように、layoutparams に追加する必要があります。

LayoutParams params = new LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
            params.weight = 1.0f;
            params.gravity=17;

17 はdocsの CENTER の定数です。

于 2013-01-30T14:35:06.190 に答える
1

を使用して、テキストを .XML の中央に配置します。 android:gravity="center_vertical|center_horizontal"

于 2013-01-30T14:32:51.117 に答える