web-dev-qa-db-ja.com

Android:テキストを左に揃え、親ビューの中央にテキストビューを配置します

こんにちは私は少し問題に直面しています

GRAVITY LEFTを使用して、テキストをビューの左側に配置しますが、テキストビュー内の中央に配置し、左側にも配置したい

これが私が今持っているものです:

            ___________________________________
_ _ _ _ _ _| aaaaaaaaaaaaa                     |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaa                          |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaaaaaaaa                    |_ _ _ _ _ _
            -----------------------------------

私が欲しいのは:

            ___________________________________
_ _ _ _ _ _|           aaaaaaaaaaa             |_ _ _ _ _ _
_ _ _ _ _ _|           aaaaaaaa                |_ _ _ _ _ _
_ _ _ _ _ _|           aaaaaaaaaaaaaa          |_ _ _ _ _ _
            -----------------------------------

場所:

_ _ _ _ =テキストビュー外

| = TextViewエッジ

私はAndroid:gravity = "left | center"を試しましたが、うまくいきません。

ありがとう

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
                xmlns:app="http://schemas.Android.com/apk/res-auto"
                Android:id="@+id/image_button_wrapper"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:gravity="center"
                Android:layout_centerVertical="true">

    <ImageView
        Android:id="@+id/left_button_image"
        Android:layout_centerVertical="true"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginRight="@dimen/spacing_normal"/>

    <Textview
        Android:id="@+id/textview"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_toRightOf="@id/left_button_image"
        Android:gravity = "center|left|left"
        Android:clickable="false"
        Android:focusable="false"
        app:font_name="Roboto-Light.ttf"/>

私が何をしたか(テキストは左揃えですが中央揃えではありません) enter image description here

私が欲しいもの(テキストを左揃えおよび中央揃え)(レンダリングを取得するために手動でパディングを追加しますが、ダーティであり、すべてのテキストに適応しません): enter image description here

12
Foushi

Textviewの親を次のように指定します。

Android:gravity = "center"

Textviewを次のように指定するだけです。

Android:gravity = "center_vertical|left|start"
Android:layout_margin="20dp"
9
Ashish Vora

テキストビューの幅をmatch_parentに変更するか、固定幅を指定すると、必要なものが得られます。

<TextView
    Android:layout_width="100dp"
    //Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:text="Hi! This is amazing!!"
    Android:gravity="center_horizontal"/>
2
Dhruvi

問題は、テキストビューの幅にあります。これは、テキストの幅を自分自身でラップし、重力を中央に設定して、ラップエリアの中央に配置するだけです。

幅を親に一致させ、重力を中央に変更します。これはあなたを助けるかもしれません

Android:layout_width="match_parent"
Android:gravity = "center"

代替方法:境界線がテキストビューとは別の中央に配置されるため。テキストビューに次の行を追加するだけです。

  Android:layout_centerHorizontal="true"
2
abdul khan

あなたのtextviewでこれを変更してください:

 Android:gravity = "center|left|left"

 Android:gravity = "center"
1
Parsania Hardik

relativeLayoutをLinearLayoutに変更して、重力とレイアウト中心を作成してください

0
jisa

テキストを左から開始し、重心を中心に配置します。このような重力特性を使用してください、

Android:gravity="center|start"
0
Faris Muhammed