1. ホーム
  2. android

[解決済み] TextViewのテキストをプログラムで中央に配置する

2023-02-21 14:12:56

質問

私はAndroid SDKチュートリアルを始めたばかりで、チュートリアル自体にはない興味本位で何かを試みているのですが、簡単だといいなと思います。

を中央に配置しようとしています。 TextView アイテムを水平方向と垂直方向にコードでセンタリングしようとしています (XMLではうまくできます)。親がテーブルや他のオブジェクトである場合にこれを行う方法のいくつかの例を見たことがありますが、私はこれが私にとってより簡単に把握できることを望みます。(p.s. 私の用語の訂正はご自由にどうぞ)。

以下は、チュートリアルのサンプルコード/私の作業モデルです。

package com.example.myfirstapp;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.ViewGroup.LayoutParams;
import android.widget.TextView;


public class DisplayMessageActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);
        textView.setGravity(View.TEXT_ALIGNMENT_GRAVITY);

        setContentView(textView);
    }
}

なんとか setGravity メソッドに手を出してみました。 setLayoutParams を取得するために何をインポートすればいいのかがわからず、そのスコープがよくわからないのです。 WRAP_CONTENT 定数を解決するためにインポートすべきものが見つからないためです。私が理解したところでは、センタリングとcontent_wrapping+gravityは別物です。私はこの場合、両方を行う方法の例が欲しいですし、多分、どのように/どこで私はAPIドキュメントで答えを見つけたでしょうか?

どのように解決するのですか?

yourTextView.setGravity(Gravity.CENTER);