2012-02-21 3 views
0

Я создаю приложение для Android, которое должно выглядеть в полном порядке на всех размерах экрана. Мне удалось масштабировать чертежи в соответствии с разрешением с различными доступными папками ресурсов, однако как я могу добиться этого с помощью чистого текста?Android разрабатывает различные экраны

Нужно ли мне использовать разные папки макета для достижения этого?

Спасибо за помощь!

+0

Установите размер текста в dip вместо px. – jeet

+0

Размер текста должен использовать глоток, в то время как все остальные размеры используют dip. – PravinCG

ответ

5

Используйте размер текста sp, и все должно быть хорошо.

зр

Scale-независимый пикселей - Это похоже на единицу Д.П., но это также масштабируется по предпочтению размеру шрифта пользователя. Мы рекомендуем использовать устройства, указанные в диалоге с Размер шрифта, чтобы уточнить размеры шрифта, чтобы они соответствовали толщине экрана и предпочтениям пользователя.

из Dimensions

dp/dip также может работать, но не включает пользователей предпочтения шрифта.

+0

Спасибо, я попробовал этот подход раньше, и вдруг он перестал работать, поэтому мой вопрос :) –

0

Если это только текст. объявите размер ad dp в textview в xml. dp - это desipixels, который связан с разрешением экрана, и размер текстового поля корректируется соответствующим образом.

0

Я использовал собственный написанный метод, который .. работал на двух дисплеях (1024x720, 800x480), надеюсь, что он работает для вашей, тоже

Класс:

 //this is a seperated class, for button textsize 
     //declaration of standardvalues 

     public class Fontstyles { 
      static int INT_standardwidth = 1024, INT_standardsize = 50; //do not change 

      public static double BTN_TXT_size(Button BTN_X) { 
       Point size = new Point(); 
       YourMainActivity.DIS_main.getSize(size); 
       int INT_width = size.x; 
       if (BTN_X.getText().length() == 0) 
        return 0; 
       // width of display     (INT_width) 
       // width standartvalue    (INT_standardwidth) 
       // standardfontsize     (INT_standardsize) 
       return ((float) ((INT_width * 100/INT_standardwidth) 
         * (INT_standardsize * (INT_width * 100/INT_standardwidth)/100)/100)); 
      }} 

это в YourMainAvtivity:

public static Display DIS_main; 
DIS_main = getWindowManager().getDefaultDisplay(); 

и это для вызова sizecalculation (там, где вы хотите от):

YourButton.setTextSize((float) Fontstyles.BTN_TXT_size_(YourButton)); 

работы для TextViews и Button.

после использования ответьте и сообщите мне, что это сработало для вашего дисплея или нет.

Смежные вопросы