int width =0; DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int screenWidthPx = displayMetrics.widthPixels; float density = displayMetrics.density; int screenWidthDp = (int) (screenWidthPx / density); width = screenWidthDp - 360; 代码对吗?
时间: 2024-02-14 10:18:26 浏览: 127
Android编程基础之获取手机屏幕大小(DisplayMetrics应用)示例
是的,你的代码是正确的。它获取整个屏幕的宽度,将其转换为dp,然后减去360,最后将结果保存到`width`变量中。如果你需要使用这个宽度来设置`View`的宽度,可以使用以下代码:
```
View view = findViewById(R.id.view_id);
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = width;
view.setLayoutParams(layoutParams);
```
其中,`R.id.view_id`是你要设置的`View`的id。通过`view.getLayoutParams()`获取当前`View`的布局参数,然后将其宽度设置为`width`,最后将布局参数重新设置给`View`。这样就能够将`View`的宽度设置为你计算出来的宽度了。
阅读全文