回答:
私はあなたがこれをやっていると思います:android:layout_width = "wrap_content"
これが事実である場合、これをしてください:android:layout_width = "match_parent"
より良い解決策は、最も単純な解決策であり、コードの動作の変更が少ない解決策です。
2つのプロパティでのみこの問題を解決できるとしたらどうでしょTextView
うか。
子供LinearLayout
の動作を変更する可能性があるプロパティを変更する必要はありませんLinearLayout
か?
この方法を使用LinearLayout
すると、プロパティと動作を変更する必要がなく、次の2つのプロパティをターゲットに追加するだけで済みますTextView
。
android:gravity="right"
android:textAlignment="gravity"
将来的に別の問題を引き起こす可能性があり、ターゲットの父親を変更するのではなく、ソリューションを解決するためにターゲットのみを変更する方が良いでしょうか?それについて考えなさい:)
TextView
プロパティにアクセスしていることを確認しましたか?: -あなたはここに参照からプロパティを確認することができますdeveloper.android.com/reference/android/view/...
(LinearLayout)android:layout_width="match_parent"
とTextViewのandroid:layout_gravity="right"
ある場合RelativeLayout
は使用できますandroid:layout_toRightOf="@id/<id_of_desired_item>"
または
right
デバイスの角に合わせたい場合はandroid:layout_alignParentRight="true"
多くの開発者が承知しているWEBを利用した重力概念について説明します。
android_layout_gravity
振る舞う float:left|right|top|bottom
一方android_gravity
、text_align:centre|left|right
Androidでは、floatはandroid_layout_gravityであり、text_align:はandroid_gravityです。
また、android_layout_gravityは親を基準にして適用されます。ここで、android_gravityはその子または内部コンテンツに適用されます。
メモそのビューがmatch_parentがあるとき(それが中央にスペースがある場合)android_gravityにのみ機能します。
以下は私のために働きます:
<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sarah" />
<TextView
android:id="@+id/tv_distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/tv_username"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/tv_username"
android:text="San Marco"
android:textAlignment="viewEnd" />
2番目のTextViewのandroid:layout_alignParentEnd
とandroid:textAlignment
設定に注意してください。
これは目的を果たすはずです
android:textAlignment="textStart"
私の場合、私が使っていたRelative Layout
AのemptyString
1時間これに苦労した後。これだけが私にとってうまくいきました:
android:layout_toRightOf="@id/welcome"
android:layout_toEndOf="@id/welcome"
android:layout_alignBaseline="@id/welcome"
layout_toRightOf
またはlayout_toEndOf
両方とも機能しますが、より適切にサポートするために、両方を使用しました。
より明確にするために:
これは私がやろうとしていたことでした:
そして、これはエミュレータの出力でした
レイアウト:
<TextView
android:id="@+id/welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Welcome "
android:textSize="16sp" />
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/welcome"
android:layout_toRightOf="@id/welcome"
android:text="@string/emptyString"
android:textSize="16sp" />
次のことに注意してください。
android:layout_width="wrap_content"
働くGravity
使用されていません<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tct_postpone_hour"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center_vertical|center_horizontal"
android:text="1"
android:textSize="24dp" />
</RelativeLayout>
ナンバーワンを水平と垂直の両方の中央に揃えます。
追加しようとするandroid:gravity="center"
にTextView