2012-02-16 49 views
6

Tôi gặp vấn đề, điều này có vẻ khá tầm thường, nhưng tôi đã không thể giải quyết vấn đề này đến nay.Định tâm văn bản phông chữ lớn trong TextView

Tôi có một hoạt động toàn cảnh màn hình trong đó tôi có một LinearLayout đơn chứa hai TextViews chiếm một nửa màn hình. Một trong những TextViews sẽ có một ký tự trung tâm, bất kể kích thước phông chữ.

Vấn đề là khi tôi tăng kích thước phông chữ của ký tự này, nó không làm trung tâm, nhưng thay vào đó có trung tâm của nó bên dưới dòng trung tâm của màn hình.

Đây là hoạt động với nhân vật kích thước 200sp trên * 480 màn hình 800, trông ok - nhân vật trung:

http://i122.photobucket.com/albums/o251/px_seven/char_200_sp.jpg

Đây là hoạt động với nhân vật kích thước 300sp, nay là nhân vật đã di chuyển xuống :

http://i122.photobucket.com/albums/o251/px_seven/char_300_sp.jpg

Đây là cách bố trí (tôi thay đổi từ phông chữ mặc định kích thước 250sp trong code):

012.
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:keepScreenOn="true"> 

<TextView 
    android:id="@+id/tv1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:layout_gravity="center" 
    android:gravity="center_horizontal" 
    android:background="#000000" /> 

<TextView 
    android:id="@+id/tv2" 
    android:lines="1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:layout_gravity="center" 
    android:gravity="center" 
    android:background="#000000" 
    android:text="N" 
    android:textSize="250sp" /> 

</LinearLayout> 

Có ai thấy vấn đề là gì không?

Cảm ơn, Fredric

+0

Những loại xem nào bạn muốn đạt được? Bố cục của bạn nằm ngang nhưng có vẻ như nó nằm dọc trong ảnh chụp màn hình của bạn –

+0

C.d., Hoạt động được đặt thành ngang, chỉ là trình mô phỏng được hiển thị ở chế độ dọc. –

+0

Thực ra tôi đã thử mã này và có vẻ ổn. Chữ N được căn giữa trong TextView của nó. Đây không phải là loại chế độ xem bạn muốn đạt được: http://i18.photobucket.com/albums/b122/floatercrop/d0ab407b.png –

Trả lời

12

Hãy thử thêm thuộc tính này để xem văn bản của bạn android:includeFontPadding="false"

+0

Ah, vâng, tôi đã thấy thuộc tính đó. Không thể nhớ lại nếu tôi đã thử nó mặc dù - tôi sẽ có một đêm nay đi, cảm ơn! –

+1

Không - android: includeFontPadding = "false" không hoạt động - trên thực tế nó không thay đổi gì cả. Tôi đã thử cả hai với android: layout_height = "wrap_content" và "match_parent". Còn ý tưởng nào nữa không? :) Câu hỏi là liệu lề từ char đến ranh giới xem có thể giảm xuống không? –

+0

Bạn có thể thử mở rộng TextView và tạo TextView của riêng bạn. Mặc dù tôi nghĩ rằng phải có một cách tầm thường tôi không thể tìm thấy một. –

Các vấn đề liên quan