質問

どんセンター、テキストを水平方向と垂直方向に TextView, これを正確に中 TextViewAndroid?

役に立ちましたか?

解決

いと仮定していXMLを利用したレイアウト。

<TextView  
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center"
    android:text="@string/**yourtextstring**"
/>

も利用できます重 center_vertical または center_horizontal に応じて必要です。

とし@stealthcopterと java: .setGravity(Gravity.CENTER);

他のヒント

android:gravity="center" 

これでうまくいきます

次を使用して動的に設定することもできます。

textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
android:layout_centerInParent="true"

これは、レイアウトの高さと&amp;幅はwrap_contentに設定されます。

組み合わせを使用することもできます:

android:gravity="left|center"

次に、textviewの幅が&quot; fill_parent&quot;より大きい場合テキストは引き続き左に揃えられます(重力が「中央」に設定されている場合のように中央に配置されません)。

重力の適用:

TextView txtView = (TextView) findViewById(R.id.txtView);
txtView.setGravity(Gravity.CENTER_HORIZONTAL);

垂直の場合:

txtView.setGravity(Gravity.CENTER_VERTICAL);

XMLの場合:

<TextView      
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center"
    android:text="@string/Hello_World"        
/>

TableLayoutを使用している場合は、TableRowsの重力も必ず中央に設定してください。 それ以外の場合は機能しません。少なくとも、TableRowの重力を中央に設定するまで、それはうまくいきませんでした。

たとえば、次のようになります:

<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center">        
    <TextView android:text="@string/chf" android:id="@+id/tv_chf" android:layout_weight="2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"></TextView>        
</TableRow>

これを行うには2つの方法があります。

XMLコードの最初。 Gravity 属性に注意する必要があります。この属性はグラフィックエディターでも見つけることができます。 XMLエディターより簡単かもしれません。

<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_vertical|center_horizontal"
    android:text="Your Text"
/>

特定のシナリオでは、重力の値は次のようになります:

center_vertical|center_horizontal

グラフィカルエディターでは、すべての可能な値が表示され、その結果が表示されます。

TextView Gravity (中央水平および中央垂直)を次のように設定する必要があります:

android:layout_centerHorizontal="true"   

and

android:layout_centerVertical="true"

そして動的に使用:

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

私の意見では、

android:gravity="center"

より良い

android:layout_centerInParent="true"

より良い

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

少なくともテキストのフォーマット用。

線形レイアウトの場合: XMLでは、次のようなものを使用します

<TextView  
    android:id="@+id/textView1"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_vertical|center_horizontal"
    android:text="Your Text goes here"
/>

実行時にこれを行うには、アクティビティで次のようなものを使用します

TextView textView1 =(TextView)findViewById(R.id.texView1);
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

相対レイアウトの場合:XMLでは次のようなものを使用します

<TextView  
    android:id="@+id/textView1"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_centerInParent="true"
    android:text="Your Text goes here"
/>

実行時にこれを行うには、アクティビティで次のようなものを使用します

TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);

XMLファイルで使用。

レイアウトファイル

<TextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:text="@string/stringtext"/>

または:

Javaクラス内でこれを使用

TextView textView =(TextView)findViewById(R.id.texviewid);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

相対レイアウトにこれを使用

android:layout_centerInParent="true"

およびその他のレイアウト用

android:gravity="center" 

TextViewで重力を使用すると、APIレベル17で実装される代替メソッドがあります-

textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

違いはわかりませんが、機能します。ただし、APIレベル17以降のみ。

TextViewのの高さと幅が wrap content の場合、 TextView 内のテキストは常に中央に配置されます。ただし、 TextViewの幅が match_parent で、高さが match_parent または wrap_content の場合、以下のコードを記述する必要があります。

RelativeLayoutの場合:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" 
        android:text="Hello World" />

</RelativeLayout>

LinearLayoutの場合:

<?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">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Hello World" />

</LinearLayout>

RelativeLayout では、それでいいでしょう。

および別の Button および追加できるその他のもの

以下は私にとってうまく機能します。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ff314859"
    android:paddingLeft="16dp"
    android:paddingRight="16dp">
    <TextView 
        android:id="@+id/txt_logo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="your text here"
        android:textSize="30dp"
        android:gravity="center"/>

        ...other button or anything else...

</RelativeLayout>

最も簡単な方法(驚いたことにコメントでのみ言及されているため、回答として投稿しています):

textview.setGravity(Gravity.CENTER)

テキストビューの gravity CENTER に設定するだけです。

TableLayoutでTableRowのテキストを中央に配置しようとしている場合、これをどのように達成したかを以下に示します。

<TableRow android:id="@+id/rowName"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:padding="5dip" >
    <TextView android:id="@+id/lblSomeLabel"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:gravity="center"
              android:layout_width="0dp"
              android:layout_weight="100"
              android:text="Your Text Here" />
</TableRow>

これは、アプリで使用した回答です。画面の中央にテキストを表示します。

<TextView
    android:id="@+id/txtSubject"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/subject"
    android:layout_margin="10dp"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge" />

相対レイアウトを使用している場合:

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/stringname"
    android:layout_centerInParent="true"/>

LinearLayoutを使用している場合

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/stringname"
    android:layout_gravity="center"/>

上記の多くの回答が示唆するように、うまくいきます。

android:gravity="center"

垂直方向に中央に配置する場合:

android:gravity="center_vertical"

または単に水平に:

android:gravity="center_horizontal"

単純に、XMLファイルで、textviewの重力を中央に設定します:

<TextView
    android:gravity="center" />

このようにしてテキストを中央に配置することができます

<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" />

これらの複数の方法でこれを実現できます:-

  

XMLメソッド01

<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content" 
    android:gravity="center_vertical|center_horizontal"
    android:text="@strings/text"
/>
  

XMLメソッド02

<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content" 
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@strings/text"
/>
  

XMLメソッド03

<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content" 
    android:gravity="center"
    android:text="@strings/text"
/>
  

XMLメソッド04

<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content" 
    android:layout_centerInParent="true"
    android:text="@strings/text"
/>
  

Javaメソッド01

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

Javaメソッド02

textview.setGravity(Gravity.CENTER);
  

Javaメソッド03

textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

TextViewの高さと幅はコンテンツをラップするため、textview内のテキストは常に中央に配置され、次を使用して親レイアウトの中央に配置されます:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Hello.."/>
</RelativeLayout>

LinearLayoutのコードも同じです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello.."/>
</LinearLayout>

そして、プログラム的に親はRelativeLayout Javaコードです。これは実行時にこのようなものをアクティビティで使用します

TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);

TextView重力の作品として親レイアウト。

LinearLayout:

ご利用の場合LinearLayoutそのすべりの重力属性 android:重力式&android:layout_gravity

android:重力式:表示レイアウトポーションの内部テキストのTextViewが android:layout_gravity:表TextView位置親/ルンルン気分/親子。

enter image description here

を設定したい場合はテキストの水平&垂直にセンターを以下のご利用コードのこと

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="300dp"
    android:background="@android:color/background_light"
    android:layout_height="300dp">

    <TextView
        android:layout_width="match_parent"
        android:text="Hello World!"
        android:gravity="center_horizontal"
        android:layout_gravity="center_vertical"
        android:layout_height="wrap_content"
    />
</LinearLayout>

RelativeLayout:

使用RelativeLayoutできる以下のご利用財産のTextView

android:重力式="center"のためのテキストセンター TextView.

android:重力式="center_horizontal"インナーテキストしたい場合は水平にすること。

android:重力式="center_vertical"インナーテキストしたい場合は垂直方向に中央揃え.

android:layout_centerInParent="true"にしたい場合はTextViewセンター位置の親会社。android:layout_centerHorizontal="true"にしたい場合はTextViewに横方向にセンターの親ビュー。android:layout_centerVertical="true"にしたい場合はTextViewに垂直にセンターの親ビュー。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="300dp"
    android:background="@android:color/background_light"
    android:layout_height="300dp">

    <TextView
        android:layout_width="match_parent"
        android:text="Hello World!"
        android:gravity="center"
        android:layout_centerInParent="true"
        android:layout_height="wrap_content"
    />
</RelativeLayout>

android:gravity="center_horizontal" のためのテキストを揃えセンターを横置きにする。android:gravity="center_vertical" のためのテキストを揃えセンターを縦方向に配置します。android:gravity="center" のためのテキストを揃えセンターの縦横.

<TextView
        android:layout_width="match_parent"
        android:gravity="center_horizontal|center_vertical"
        android:layout_height="match_parent" />

この方法を試してください、それは動作します

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center_horizontal|center_vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAlignment="center" />

</LinearLayout>

xmlで次のコードを使用してください

<LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:background="@color/colorPrimaryDark"
        android:gravity="center"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/id_text"
            android:layout_width="wrap_content"
            android:textSize="18sp"
            android:textColor="@android:color/white"
            android:textStyle="normal"
            android:layout_height="wrap_content"
            android:text="centre me"/>
    </LinearLayout>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top