如何查找屏幕尺寸

时间:2014-01-02 18:56:13

标签: android listview android-listview fullscreen

我正在开发一款需要显示图片列表视图的应用,每张图片都必须占据整个屏幕。
我目前正在获取屏幕分辨率并重新调整图像大小 我遇到的问题是使用屏幕按钮的设备 如何考虑屏幕按钮或如何找出屏幕按钮占用多少空间?

    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    height =metrics.heightPixels;
    width=metrics.widthPixels;

3 个答案:

答案 0 :(得分:0)

您可以使用此功能获取手机尺寸,并可以调整按钮

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();  // deprecated
int height = display.getHeight();  // deprecated

答案 1 :(得分:0)

您可以在运行时使用以下代码找到ActionBar的高度(我假设您的意思是屏幕按钮):

final TypedArray styledAttributes = getContext().getTheme().obtainStyledAttributes(
    new int[] { android.R.attr.actionBarSize });
mActionBarSize = (int) styledAttributes.getDimension(0, 0);
styledAttributes.recycle();

然后您可以将ActionBar大小添加到屏幕尺寸。

可在此处找到更详细的说明: What is the size of ActionBar in pixels?

如果您需要使用Nexus设备上的屏幕按钮获得屏幕高度,则可以使用Display.getRealSize(Point)

答案 2 :(得分:0)

如果您想要显示尺寸(以像素为单位),可以使用getSize:

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

如果您不在活动中,可以通过WINDOW_SERVICE获取默认显示:

 WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
 Display display = wm.getDefaultDisplay();

在引入getSize之前(在API级别13中),您可以使用现已弃用的getWidth和getHeight方法:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();  // deprecated
int height = display.getHeight();  // deprecated

对于您正在描述的用例,布局中的边距/填充似乎更合适。