0

仅将一段代码应用于特定屏幕尺寸的 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()));
4

3 回答 3

2

有了这个,你可以得到屏幕宽度,然后将此屏幕宽度与galaxy mini进行比较然后设置它

Display d = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = d.getWidth();
int height = d.getHeight();
于 2013-08-07T07:45:54.700 回答
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;

希望这些帮助。

于 2013-08-07T07:47:24.957 回答
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){
    ...
}
于 2013-08-07T07:49:27.277 回答