2013-04-24 13 views

答えて

37

私が見ることができるのは、textAlignmentがViewクラスのメンバーであり、重力がTextViewクラスのメンバーであることです。したがってTextViewとそのサブクラスでは重力を使用できますが、すべてのビューでtextAlignmentを使用できます。

TextViewとそのサブクラスにはテキスト整列機能がいくつか必要なので、textAlignmentには基本オプションだけがある重力オプションが多数あります。違いについての明確な文書は見つけられていないので、私の推測だけですが。

ドキュメントのこれら2つのリンク:textAlignmentgravityを見ることができます。

3

私が見た限り、textAlignmentはほとんど使用されていないようです。 その説明では、右揃えまたは左揃えにする必要があります。 重力が改良されたtextAlignmentのようです。

3

API 15の場合、android:textAlignmentは望ましい結果を得ていない可能性があります。以下のスニペットは、android:textAlignment="center"を使用して最初のTextViewオブジェクトを中央に配置しようとします。 2番目はandroid:gravity="center_horizontal"を使用します。 textAlignmentは効果がありませんが、重力はうまく働きます。 API 17+では、textAlignmentはテキストを期待通りに中央に配置します。

テキストがすべてのリリースで正しく整列されていることを確認するために、私は重力を取ります。
Resulting layout in API 15

は17+ APIでレイアウトを結果として生じる:
Resulting layout in API 17+

API 15で

<LinearLayout 
    android:layout_width="50dp" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:text="Fri" 
     android:textAlignment="center" 
     android:textSize="16sp" /> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="29" 
     android:gravity="center_horizontal" 
     android:textSize="18sp" /> 

</LinearLayout> 

結果のレイアウト