TextView
에서 텍스트를 가로 및 세로로 Android
TextView
중간에 정확히 표시되도록 하려면 어떻게 해야 합니까?
질문자 :pupeno
XML 레이아웃을 사용하고 있다고 가정합니다.
<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="@string/**yourtextstring**" />
필요에 따라 center_vertical
또는 center_horizontal
사용할 수도 있습니다.
그리고 @stealthcopter가 java에서 주석을 달았듯이: .setGravity(Gravity.CENTER);
Bill
android:gravity="center"
이것은 트릭을 할 것입니다
Jean
다음을 사용하여 동적으로 설정할 수도 있습니다.
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
zeevb
android:layout_centerInParent="true"
이것은 레이아웃의 높이와 너비가 wrap_content로 설정된 RelativeLayout과 함께 사용될 때 작동합니다.
itherese
다음 조합을 사용할 수도 있습니다.
android:gravity="left|center"
그런 다음, textview 너비가 "fill_parent"보다 크면 텍스트는 여전히 왼쪽으로 정렬됩니다(중력이 "center"로만 설정된 것처럼 중앙에 정렬되지 않음).
Szorstki
중력 적용:
TextView txtView = (TextView) findViewById(R.id.txtView); txtView.setGravity(Gravity.CENTER_HORIZONTAL);
수직:
txtView.setGravity(Gravity.CENTER_VERTICAL);
XML:
<TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:text="@string/Hello_World" />
Gaganpreet Singh
두 가지 방법이 있습니다.
XML 코드의 첫 번째. Gravity
Attribute에 주목해야 합니다. 그래픽 편집기에서도 이 속성을 찾을 수 있습니다. XML 편집기보다 쉬울 수 있습니다.
<TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical|center_horizontal" android:text="Your Text" />
특정 시나리오의 경우 중력 값은 다음과 같습니다.
center_vertical|center_horizontal
그래픽 편집기에서 가능한 모든 값을 찾을 수 있으며 결과도 볼 수 있습니다.
Cristiano Guerra
TableLayout을 사용하는 경우 TableRows의 중력도 가운데로 설정해야 합니다. 그렇지 않으면 작동하지 않습니다. 적어도 TableRow의 중력을 중앙으로 설정할 때까지는 작동하지 않았습니다.
예를 들면 다음과 같습니다.
<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center"> <TextView android:text="@string/chf" android:id="@+id/tv_chf" android:layout_weight="2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"></TextView> </TableRow>
Maverick1st
다음과 같이 TextView Gravity (Center Horizontal & Center Vertical)를 설정해야 합니다.
android:layout_centerHorizontal="true"
그리고
android:layout_centerVertical="true"
동적으로 다음을 사용합니다.
textview.setGravity(Gravity.CENTER); textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
NagarjunaReddy
내 생각에,
android:gravity="center"
보다 낫다,
android:layout_centerInParent="true"
보다 나은 것,
android:layout_centerHorizontal="true" android:layout_centerVertical="true"
적어도 텍스트 서식을 지정하려면.
epicness42
선형 레이아웃의 경우: XML에서 다음과 같이 사용하십시오.
<TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical|center_horizontal" android:text="Your Text goes here" />
런타임에 이를 수행하려면 활동에서 이와 같은 것을 사용하십시오.
TextView textView1 =(TextView)findViewById(R.id.texView1); textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
상대 레이아웃의 경우: XML에서 다음과 같은 것을 사용하십시오.
<TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerInParent="true" android:text="Your Text goes here" />
런타임에 이를 수행하려면 활동에서 이와 같은 것을 사용하십시오.
TextView textView1 =(TextView)findViewById(R.id.texView1); RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams(); layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); textView1.setLayoutParams(layoutParams);
Karthikeyan
XML 파일에서 사용합니다.
레이아웃 파일
<TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:text="@string/stringtext"/>
또는:
Java 클래스 내에서 이것을 사용하십시오.
TextView textView =(TextView)findViewById(R.id.texviewid); textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
venu
상대 레이아웃에 사용
android:layout_centerInParent="true"
그리고 다른 레이아웃을 위해
android:gravity="center"
user1087919
TextView's
높이와 너비가 wrap content
TextView
내의 텍스트는 항상 중앙에 배치됩니다. 그러나 TextView's
너비가 match_parent
이고 높이가 match_parent
또는 wrap_content
이면 아래 코드를 작성해야 합니다.
상대 레이아웃의 경우:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Hello World" /> </RelativeLayout>
LinearLayout의 경우:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Hello World" /> </LinearLayout>
Avijit Karmakar
TextView에서 중력을 사용하는 동안 API 레벨 17에서 구현된 대체 방법이 있습니다.
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
차이점을 모르지만 작동합니다. 그러나 API 레벨 17 이상에만 해당됩니다.
noob
RelativeLayout
에서는 잘 될 것입니다.
그리고 또 다른 Button
과 추가할 수 있는 모든 것.
다음은 나를 위해 잘 작동합니다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ff314859" android:paddingLeft="16dp" android:paddingRight="16dp"> <TextView android:id="@+id/txt_logo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="your text here" android:textSize="30dp" android:gravity="center"/> ...other button or anything else... </RelativeLayout>
Yuda Prawira
가장 쉬운 방법(놀랍게도 주석에서만 언급되므로 내가 답변으로 게시하는 이유)은 다음과 같습니다.
textview.setGravity(Gravity.CENTER)
User1
textview gravity
CENTER
로 설정할 수 있습니다.
note-knotz
android:textAlignment="center"
<TextView android:text="HOW WAS\nYOUR\nDAY?" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAlignment="center" android:id="@+id/textView5" />
Chathura Wijesinghe
TableLayout의 TableRow에 텍스트를 가운데에 맞추려는 경우 다음과 같이 달성했습니다.
<TableRow android:id="@+id/rowName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dip" > <TextView android:id="@+id/lblSomeLabel" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:layout_width="0dp" android:layout_weight="100" android:text="Your Text Here" /> </TableRow>
dyslexicanaboko
다음은 내 앱에서 사용한 답변입니다. 화면 중앙에 텍스트를 표시합니다.
<TextView android:id="@+id/txtSubject" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/subject" android:layout_margin="10dp" android:gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" />
Md. Naushad Alam
상대 레이아웃을 사용하는 경우:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/stringname" android:layout_centerInParent="true"/>
LinearLayout을 사용하는 경우
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/stringname" android:layout_gravity="center"/>
Niranjan
실제로 fontPadding을 제외하면 더 잘할 수 있습니다.
<TextView android layout_height="wrap_content" android layout_height="wrap_content" android:includeFontPadding="false" android:textAlignment="center" />
Seanghay
많은 답변이 위에서 제안한 것처럼 잘 작동합니다.
android:gravity="center"
수직으로만 가운데에 맞추려면 다음을 수행하십시오.
android:gravity="center_vertical"
또는 수평으로:
android:gravity="center_horizontal"
rgamber
TextView의 높이와 너비는 줄 바꿈 내용이며 textview 내의 텍스트는 항상 가운데에 배치되고 다음을 사용하여 부모 레이아웃의 가운데를 만듭니다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Hello.."/> </RelativeLayout>
LinearLayout의 경우에도 코드는 동일합니다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello.."/> </LinearLayout>
프로그래밍 방식으로 부모는 RelativeLayout 자바 코드이며 런타임에 활동에서 이와 같은 것을 사용합니다.
TextView textView1 =(TextView)findViewById(R.id.texView1); RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams(); layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); textView1.setLayoutParams(layoutParams);
Attif
TextView 중력은 부모 레이아웃에 따라 작동합니다.
선형 레이아웃 :
LinearLayout을 사용하면 두 개의 중력 속성 android:gravity & android:layout_gravity를 찾을 수 있습니다.
android:gravity : TextView 내부 텍스트의 레이아웃 부분을 나타내고 android:layout_gravity : 상위 뷰에서 TextView 위치를 나타냅니다.
텍스트를 가로 및 세로 가운데로 설정하려면 아래 코드를 사용하십시오.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="300dp" android:background="@android:color/background_light" android:layout_height="300dp"> <TextView android:layout_width="match_parent" android:text="Hello World!" android:gravity="center_horizontal" android:layout_gravity="center_vertical" android:layout_height="wrap_content" /> </LinearLayout>
상대 레이아웃 :
RelativeLayout을 사용하면 TextView에서 아래 속성을 사용할 수 있습니다.
TextView의 텍스트 센터에 대한 android:gravity="center".
가로로 가운데에 맞추려면 android:gravity="center_horizontal" 내부 텍스트.
android:gravity="center_vertical" 내부 텍스트를 세로 중앙에 맞추려면.
android:layout_centerInParent="true" TextView를 부모 보기의 중앙 위치에 두려면. android:layout_centerHorizontal="true" TextView를 부모 보기의 수평 중앙에 놓으려면. android:layout_centerVertical="true" TextView를 부모 보기의 수직 중앙에 놓으려면.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="300dp" android:background="@android:color/background_light" android:layout_height="300dp"> <TextView android:layout_width="match_parent" android:text="Hello World!" android:gravity="center" android:layout_centerInParent="true" android:layout_height="wrap_content" /> </RelativeLayout>
Alpesh Sorathiya
이 방법을 시도하면 작동합니다
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAlignment="center"/> </LinearLayout>
Cunity
간단히 XML 파일에서 textview 중력을 중앙으로 설정하십시오.
<TextView android:gravity="center" />
Mansoor Ahmad Samar
텍스트를 가운데에 맞추려면 다음과 같이 할 수 있습니다.
<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" />
Kamlakar Kate
다음과 같은 여러 가지 방법으로 이를 달성할 수 있습니다.
XML 메소드 01
<TextView android:id="@+id/textView" android:layout_height="match_parent" android:layout_width="wrap_content" android:gravity="center_vertical|center_horizontal" android:text="@strings/text" />
XML 메소드 02
<TextView android:id="@+id/textView" android:layout_height="match_parent" android:layout_width="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="@strings/text" />
XML 메소드 03
<TextView android:id="@+id/textView" android:layout_height="match_parent" android:layout_width="wrap_content" android:gravity="center" android:text="@strings/text" />
XML 메소드 04
<TextView android:id="@+id/textView" android:layout_height="match_parent" android:layout_width="wrap_content" android:layout_centerInParent="true" android:text="@strings/text" />
자바 메소드 01
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
자바 메소드 02
textview.setGravity(Gravity.CENTER);
자바 메소드 03
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
ArghadipDasCEO
출처 : http:www.stackoverflow.com/questions/432037/how-do-i-center-text-horizontally-and-vertically-in-a-textview
'etc. > StackOverFlow' 카테고리의 다른 글
JavaScript에서 변수가 문자열인지 확인 (0) | 2021.12.02 |
---|---|
JavaScript에서 두 숫자 사이의 난수 생성 (0) | 2021.12.02 |
JavaScript에서 배열을 어떻게 비우나요? (0) | 2021.12.02 |
jQuery에서 여러 클래스가 있는 요소를 선택하려면 어떻게 해야 합니까? (0) | 2021.12.02 |
JavaScript에서 변수의 범위는 무엇입니까? (0) | 2021.12.02 |