2013-08-07 2 views
0

Каков наилучший способ применить кусок кода только для определенного размера экрана устройства Android.Android: Лучший способ применения кода на основе размера экрана

Пример:

TextView textView = (TextView) rowView.findViewById(R.id.article_title_text); 
// I would like to apply this code for only device Galaxy S3 mini (4" size) 
textView.setText(Tools.cutTitleHomeForGalaxyMini(article.getTitle())); 
// Else, i want to apply this code 
textView.setText(Tools.cutTitleHome(article.getTitle())); 

ответ

1

Если у вас есть конкретная информация для модели и размер экрана (как вы упомянули Galaxy S3 mini (размер 4 дюйма)), затем получите информацию об устройстве от Системы, чтобы проверить и применить свой код:

Build.MODEL, Build.PRODUCT, Build.MANUFACTURER 

И размер экрана:

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

Надежда это поможет.

2

с этим вы можете получить ширину экрана после того, как затем сравнить эту ширину с галактикой мини экрана затем установить его

Display d = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
int width = d.getWidth(); 
int height = d.getHeight(); 
1

Можно вычислить размер экрана образуют ширину экрана пикселей и высоту и его плотность пикселей как это:

DisplayMetrics dm =new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 

float height = dm.heightPixels/dm.xdpi; 
float width = dm.widthPixels/dm.ydpi; 

// you need to get the diagonal size to compare it to the 4'' of the Galaxy S3 mini. 
float diagonalInch = FloatMath.sqrt(height*height+width*width); 

Затем с помощью простого теста, как:

if (diagonalInch < 4){ 
    ... 
} 
Смежные вопросы