2013-08-07 80 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){ 
    ... 
}