我正在开发一款需要显示图片列表视图的应用,每张图片都必须占据整个屏幕。
我目前正在获取屏幕分辨率并重新调整图像大小
我遇到的问题是使用屏幕按钮的设备
如何考虑屏幕按钮或如何找出屏幕按钮占用多少空间?
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
height =metrics.heightPixels;
width=metrics.widthPixels;
答案 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
对于您正在描述的用例,布局中的边距/填充似乎更合适。