こんにちは私は少し問題に直面しています
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"/>
私が何をしたか(テキストは左揃えですが中央揃えではありません)
私が欲しいもの(テキストを左揃えおよび中央揃え)(レンダリングを取得するために手動でパディングを追加しますが、ダーティであり、すべてのテキストに適応しません):
Textviewの親を次のように指定します。
Android:gravity = "center"
Textviewを次のように指定するだけです。
Android:gravity = "center_vertical|left|start"
Android:layout_margin="20dp"
テキストビューの幅を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"/>
問題は、テキストビューの幅にあります。これは、テキストの幅を自分自身でラップし、重力を中央に設定して、ラップエリアの中央に配置するだけです。
幅を親に一致させ、重力を中央に変更します。これはあなたを助けるかもしれません
Android:layout_width="match_parent"
Android:gravity = "center"
代替方法:境界線がテキストビューとは別の中央に配置されるため。テキストビューに次の行を追加するだけです。
Android:layout_centerHorizontal="true"
あなたのtextviewでこれを変更してください:
Android:gravity = "center|left|left"
に
Android:gravity = "center"
relativeLayoutをLinearLayoutに変更して、重力とレイアウト中心を作成してください
テキストを左から開始し、重心を中心に配置します。このような重力特性を使用してください、
Android:gravity="center|start"