căn chỉnh trung tâm văn bản với Android


149

Tôi biết nó nghe có vẻ dễ dàng. Tôi cần đặt một văn bản ở giữa, nhưng khi văn bản quá dài, nó cần phải đi bên dưới, nhưng vẫn căn chỉnh ở giữa xml của tôi.

Đây là mã của tôi:

 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:layout_centerHorizontal="true"
>
    <TextView 
        android:id="@+id/showdescriptiontitle"
        android:text="Title"
        android:textSize="35dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

Tôi đặt paddingTop và bottom vì tôi cần một ít không gian. PS: Mã của tôi lớn hơn; đó là trong một RelativeLayout.


Ở đây bạn không sử dụng bất kỳ kiểu văn bản nào
Dinith

Câu trả lời:


380

Thiết cũng android:gravitytham số trong TextViewđể center.

Để kiểm tra hiệu ứng của các tham số bố cục khác nhau, tôi khuyên bạn nên sử dụng màu nền khác nhau cho mọi yếu tố, để bạn có thể thấy cách bố trí của mình thay đổi với các tham số như trọng lực, layout_gravity hoặc các yếu tố khác.


Cảm ơn bạn, nó đã làm việc, chỉ cần một chút thời gian để xác nhận câu trả lời của bạn!
Tsunaze

Vâng đó là sự thật. Nhưng tôi nghĩ chỉ khi TextView có nhiều hơn một dòng. Bởi vì chỉ với 1 dòng văn bản không đầy đủ, TextView sẽ không lấp đầy bố cục theo chiều ngang
peter.bartos

Bạn có thể tránh điều này bằng cách đặt android của TextView: layout_creen = "fill_parent"
peter.bartos

2
Đừng nhầm lẫn với android:layout_gravity. Đừng! :)
Joshua Pinter


21

sử dụng cách này trong xml

   <TextView
        android:id="@+id/myText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Time is precious, so love now."
        android:gravity="center"
        android:textSize="30dp"
        android:textColor="#fff"
        />

7

Bạn có thể sử dụng như sau:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp">

 <TextView
        android:id="@+id/textview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Your text"
        android:typeface="serif" />
</LinearLayout>

Bố cục cần phải tương đối cho thuộc tính "trung tâm" được sử dụng.


5

Thêm android:gravity="center"vào TextView của bạn sẽ thực hiện thủ thuật (là bố cục chính là Relative/Linear)!

Ngoài ra, bạn nên tránh sử dụng dp cho kích thước phông chữ. Sử dụng sp thay thế.


3

thêm layout_gravity và lực hấp dẫn với giá trị trung tâm trên TextView

<TextView
    android:text="welcome text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    />

2

Chỉ cần thêm 2 dòng này;

android:gravity="center_horizontal"
android:textAlignment="center"

1
android:layout_gravity="center"

hoặc là

android:gravity="center"

cả hai đều làm việc cho tôi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.