Android TextView에서 텍스트 오른쪽 정렬
나는 있습니다TextView
내 신청으로텍스트를 오른쪽으로 정렬하고 싶습니다.다음을 추가하려고 했습니다.
android:gravity="right"
하지만 이것은 저에게 효과가 없습니다.
제가 뭘 잘못하고 있는 걸까요?
저는 당신이 이것을 하고 있다고 생각합니다.android:layout_width = "wrap_content"
이 경우 다음을 수행합니다.android:layout_width = "match_parent"
일반적으로,android:gravity="right"
와 다릅니다.android:layout_gravity="right"
.
첫 번째 항목은 보기 내 텍스트 자체의 위치에 영향을 미치므로 텍스트를 오른쪽 정렬하려면layout_width=
둘 중 하나여야 합니다."fill_parent"
또는"match_parent"
.
두 번째는 상위 뷰 내에서 보기의 위치에 영향을 미칩니다. 즉, 오브젝트 자체(편집 상자 또는 텍스트 뷰)를 상위 뷰 내에서 정렬합니다.
더 나은 해결책은 가장 간단하고 코드 동작의 수정을 덜 하는 것입니다.
만약 당신이 당신의 2개의 속성만으로 이 문제를 해결할 수 있다면요?TextView
?
변경할 필요가 없는 대신LinearLayout
동작을 변경할 수 있는 속성LinearLayout
아이들?
이 방법을 사용하면 변경할 필요가 없습니다.LinearLayout
속성과 동작, 다음 속성 두 가지만 대상에 추가하면 됩니다.TextView
:
android:gravity="right"
android:textAlignment="gravity"
미래에 또 다른 문제를 일으킬 기회를 갖지 말고 해결책을 찾기 위해 당신의 목표만 바꾸는 것이 무엇이 더 나을까요, 당신의 목표 아버지를 수정하는 것?생각해 보세요 :)
누군가가 여전히 필요로 할 경우
android:gravity="end"
android:layout_gravity
부모 레이아웃을 기준으로 텍스트 보기를 정렬하는 데 사용됩니다.android:gravity
텍스트 보기 내부에서 텍스트를 정렬하는 데 사용됩니다.
텍스트 보기 내부의 텍스트를 오른쪽으로 정렬하시겠습니까? 아니면 텍스트 보기 자체를 부모 레이아웃과 관련하여 오른쪽으로 이동하시겠습니까? 아니면 둘 다를 모두 선택하시겠습니까?
다음 코드 조각:
android:textAlignment="textEnd"
android:layout_gravity="end"
나에게 잘 작동합니다.
android:gravity="right"
기본적으로 선형 레이아웃에서 사용되므로 TextView 또는 EditText를 다음과 같이 설정해야 합니다.
android:layout_width = "match_parent"
그리고.
상대 레이아웃에서 작업할 때 사용
android:layout_alignParentRight="true"
사용하지 않는지 확인합니다.android:layout_width="wrap_content"
텍스트를 정렬할 공간이 부족하기 때문에 중력을 설정할 수 없습니다.대신 사용android:layout_width="fill_parent"
(선형 레이아웃) 만들기android:layout_width="match_parent"
및 TextView의android:layout_gravity="right"
다음은 제게 적합합니다.
<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" />
참고하십시오.android:layout_alignParentEnd
그리고.android:textAlignment
두 번째 텍스트 보기의 설정입니다.
다음에 있는 경우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는 하위 또는 내부 콘텐츠에 적용됩니다.
Android_gravity는 보기가 match_parent일 때만 작동합니다(가운데에 공간이 있을 때).
사용할 수 있는 항목:
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
이것은 목적에 부합해야 합니다.
android:textAlignment="textStart"
제경에는저, 는우는을 했습니다.Relative Layout
당분간emptyString
한 시간 동안 고생한 후에.오직 이것만이 나에게 효과가 있었습니다.
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
되지 않습니다.
저도 같은 문제에 직면했고 TextView의 layout_width가 wrap_content를 가지고 있기 때문에 문제가 발생하고 있다고 생각했습니다.layout_width를 match_parent로 지정해야 하며 Android: 중력 = "중력"
<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>
수평과 수직 모두에서 중앙에 1번 정렬합니다.
추가하려고 합니다.android:gravity="center"
안으로TextView
저는 제 경우에 "layout_alignRight" 속성을 사용했고, 텍스트는 다음과 같습니다.
android:layout_alignRight="@+id/myComponentId"
오른쪽 여백을 추가하려면 "Layout_Margin Right" 속성을 예를 들어 다음과 같이 "20dp"로 설정합니다.
android:layout_marginRight="20dp"
Android API 26+에서 TextView에 대해 정당성 정렬이 지원되었습니다.
<TextView ...
... android:justificationMode="inter_word" />
기본적으로 값은 없음입니다.
다음을 사용해 보십시오.
android:justificationMode="inter_word"
이것은 당신의 텍스트를 정당화할 것입니다.
언급URL : https://stackoverflow.com/questions/8969122/right-align-text-in-android-textview
'programing' 카테고리의 다른 글
IntelliJ Idea에서 스프링 부트 응용 프로그램을 시작할 수 없습니다. (0) | 2023.08.04 |
---|---|
Oracle에서 Azure DB의 텍스트 필드로 clob 필드를 내보내는 중 오류 발생 (0) | 2023.08.04 |
자동 완성 플러그인 결과를 사용자 지정하는 방법은 무엇입니까? (0) | 2023.08.04 |
Node.js에서 버퍼를 읽기 가능한 스트림으로 변환 (0) | 2023.08.04 |
Android에서 텍스트 편집 비활성화 (0) | 2023.08.04 |