您好我在为Android应用程序创建自定义视图时遇到问题。如果允许最大屏幕宽度,我的自定义视图要使用。我找不到任何方法来检索这个值。
有人能指出我正确的方法吗?
答案 0 :(得分:15)
尝试
mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
int displayWidth = mWinMgr.getDefaultDisplay().getWidth();
其中context是Context
instance。
默认情况下,保留布局的FrameLayout
会水平填充整个显示(垂直方向可以显示状态栏)。因此,您可以正确使用android:layout_width="fill_parent"
来设置最大可能宽度。
答案 1 :(得分:2)
这是good answer:
mWinMgr.getDefaultDisplay().getWidth();
//现在不推荐使用getWidth()和getHeight()方法
您可以按如下方式获得宽度和高度: original
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
答案 2 :(得分:1)
DisplayMetrics size = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(size );
int w = size .widthPixels;
int h = size .heightPixels;
答案 3 :(得分:1)
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
window.getDefaultDisplay().getMetrics(dm);
devicewidth =(dm.widthPixels);