2011-09-06 51 views
115

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

Dướ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à dưới bởi vì tôi cần một số không gian. PS: Mã của tôi lớn hơn; nó nằm trong RelativeLayout.

Trả lời

311

Đặt tham số android:gravity trong TextView tới center.

Để kiểm tra hiệu ứng của các thông 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 phần tử, vì vậy bạn có thể xem cách bố cục của bạn thay đổi theo các thông số như trọng lực, layout_gravity hoặc các thông số khác.

+0

Cảm ơn bạn, nó làm việc, chỉ cần một thời gian để hợp lệ câu trả lời của bạn! – Tsunaze

+1

Và tôi thấy rằng android: layout_centerHorizontal = "true" là không cần thiết nữa .. – Tsunaze

+0

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

4

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> 

Cách bố trí cần phải được tương đối cho các "trung tâm" tài sản để được sử dụng.

14

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" 
     /> 
4

Thêm android:gravity="center" trong TextView của mình sẽ làm các trick (được bố trí cha mẹ được 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ế.

1

add và layout_gravity 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" 
    /> 
Các vấn đề liên quan