2012-05-17 10 views
5

Ở đây tôi phát triển một ứng dụng Android, có thể chạy trên tất cả các thiết bị có kích thước và độ phân giải màn hình. Nhưng một vấn đề là có phông chữ TextView's của tôi giống nhau trên tất cả Kích thước màn hình. Tôi muốn thay đổi FontSize theo Số khác nhau ScreenSize và Độ phân giải màn hình.TextView FontSize theo Độ phân giải khác nhau và ScreenSize

Cảm ơn trước.

+0

Đặt một số mã để chúng tôi biết. –

+1

kiểm tra [http://stackoverflow.com/questions/10595795/button-and-size-of-text/10596355#10596355](http://stackoverflow.com/questions/10595795/button-and-size-of- văn bản/10596355 # 10596355) – silwar

+0

1. sử dụng ** sp ** 2. kiểm tra http://stackoverflow.com/questions/2617266/how-to-adjust-text-font-size-to-fit-textview –

Trả lời

0

01 cách để thực hiện việc này là tạo các thư mục cần thiết như bố cục lớn, bố cục nhỏ, bố cục bình thường, bố cục-xlarge trong thư mục res. và đặt XMLs của bạn vào những thư mục và sau đó thay đổi bất cứ điều gì bạn muốn làm gì với cái nhìn văn bản và bất cứ điều gì

2

Thứ nhất, nếu bạn chưa làm như vậy, bạn nên đọc này

http://developer.android.com/guide/practices/screens_support.html

Để cung cấp bất kỳ tài nguyên, bao gồm các kiểu có thể áp dụng cho văn bản, bạn nên đọc phần Using configuration qualifiers

Tài liệu hữu ích khác ở đây http://developer.android.com/guide/topics/resources/more-resources.html#Dimension sẽ giúp bạn chọn đúng đơn vị đo văn bản, lý tưởng là bạn muốn sử dụng sp như được giải thích trong đoạn trích:

sp

Pixels Scale độc ​​lập - Đây là giống như các đơn vị dp, nhưng nó cũng được thu nhỏ lại bởi sở thích kích thước phông chữ của người dùng. Chúng tôi khuyên bạn nên sử dụng đơn vị này khi chỉ định kích thước phông chữ, vì vậy chúng sẽ được điều chỉnh cho cả mật độ màn hình và sở thích của người dùng đối với .

Hy vọng điều đó sẽ hữu ích.

0

bạn nên sử dụng đơn vị sp cho kích thước phông chữ thay vì dip hoặc dp. sp là các pixel độc lập có quy mô tự điều chỉnh theo mật độ điểm ảnh màn hình. đây là sự khác biệt chính xác.

dp

Pixels Mật độ độc lập - một đơn vị trừu tượng đó là dựa trên mật độ vật lý của màn hình. Các đơn vị này có liên quan đến màn hình 160 dpi, do đó, một dp là một pixel trên màn hình 160 dpi. Tỷ lệ của dp-to-pixel sẽ thay đổi với mật độ màn hình, nhưng không nhất thiết phải tỷ lệ trực tiếp. Lưu ý: Trình biên dịch chấp nhận cả "nhúng" và "dp", mặc dù "dp" phù hợp hơn với "sp".

sp
Pixels Scale độc ​​lập - điều này cũng giống như các đơn vị dp, nhưng nó cũng được thu nhỏ lại bởi sở thích kích thước phông chữ của người dùng. Bạn nên sử dụng đơn vị này khi chỉ định kích thước phông chữ, vì vậy chúng sẽ được điều chỉnh cho cả mật độ màn hình và tùy chọn của người dùng.

4

Sử dụng mã từ Screen Category hoặc sử dụng getSize() phương pháp như:

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

như mô tả here để có được kích thước màn hình và và sau đó thiết lập kích thước font chữ cho phù hợp sử dụng setTextSize() phương pháp, bạn cũng có thể xem xét sử dụng đơn vị sp cho kích thước phông chữ.

-3

Đến tập tin xml của bạn và thêm textsize như:

android:textSize="20sp" 

này sẽ làm tăng kích thước phông chữ của bạn

1

Hi tạo các thư mục như sau trong thư mục tài nguyên của mình và sau đó sao chép các file XML của bạn vào nó bây giờ bạn có thể kiểm tra cửa sổ bảng màu nó sẽ hiển thị màn hình cho các kích cỡ khác nhau dựa trên u đó có thể sửa đổi kích thước màn hình.

bố trí lớn, bố trí nhỏ, bố trí-xlarge,

Bây giờ nó hỗ trợ cho tất cả các loại kích cỡ màn hình và kích thước phông chữ của bạn sẽ được rõ ràng dựa trên kích thước màn hình. Để biết thêm thông tin liên quan đến Hỗ trợ nhiều màn hình, hãy kiểm tra android documentation.

1

tự động điều chỉnh kích thước font chữ theo màn hình bằng cách sử dụng mã này

Display display; 
Point size; 
int width, height; 
float txtsize; 

khai báo và sử dụng trong onCreate()

display = getWindowManager().getDefaultDisplay(); 
     size = new Point(); 
     display.getSize(size); 
     width = size.x; 
     height = size.y; 
     txtsize=height*0.024f; 

/* nếu chiều cao màn hình của bạn là 854 Kích thước sử dụng phông chữ của nó 20.4 */

để đặt kích thước thành dạng xem văn bản chỉ sử dụng mã này ..

textView.setTextSize(txtsize);