menyelaraskan pusat teks dengan android

149

Saya tahu itu terdengar mudah. Saya perlu meletakkan teks di tengah, tetapi ketika teks terlalu panjang itu perlu pergi di bawah, tetapi masih menyelaraskan di tengah xml saya.

Ini kode saya:

 <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>

Saya meletakkan paddingTop dan Bawah karena saya butuh ruang. PS: Kode saya lebih besar; itu dalam RelativeLayout.

Tsunaze
sumber
Di sini Anda tidak menggunakan gaya teks apa pun
Dinith

Jawaban:

380

Tetapkan juga android:gravityparameter TextViewke center.

Untuk menguji efek dari parameter tata letak yang berbeda, saya sarankan untuk menggunakan warna latar belakang yang berbeda untuk setiap elemen, sehingga Anda dapat melihat bagaimana tata letak Anda berubah dengan parameter seperti gravitasi, tata letak_gravitas atau lainnya.

peter.bartos
sumber
Terima kasih, itu berhasil, hanya perlu waktu untuk membuktikan jawaban Anda!
Tsunaze
Ya itu benar. Tapi saya pikir hanya jika TextView memiliki lebih dari satu baris. Karena hanya dengan 1 baris teks yang tidak lengkap, TextView tidak akan mengisi tata letak secara horizontal
peter.bartos
Anda dapat menghindari ini dengan mengatur android TextView: layout_width = "fill_parent"
peter.bartos
2
Jangan bingung dengan android:layout_gravity. Doh! :)
Joshua Pinter
29

gunakan cara ini

txt.setGravity(Gravity.CENTER);
bhargavkumar040
sumber
21

gunakan cara ini di 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"
        />
sakshi
sumber
7

Anda dapat menggunakan yang berikut ini:

<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>

Tata letak harus relatif untuk properti "pusat" yang akan digunakan.

GSB
sumber
5

Menambahkan android:gravity="center"di TextView Anda akan melakukan trik (menjadi tata letak induk Relative/Linear)!

Selain itu, Anda harus menghindari penggunaan dp untuk ukuran font. Gunakan sp sebagai gantinya.

Divya
sumber
3

tambahkan layout_gravity dan gravitasi dengan nilai tengah pada TextView

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

Tambahkan saja 2 baris ini;

android:gravity="center_horizontal"
android:textAlignment="center"
Ramandeep Singh
sumber
1
android:layout_gravity="center"

atau

android:gravity="center"

keduanya bekerja untuk saya.

Dinith
sumber