我正在尝试在页面适配器中获取屏幕尺寸。我可以将其放入MainActivity
并将其传递给适配器,但是最好将其传递到适配器。如何直接在适配器内部或instantiateItem
内部进行操作?
这是我的代码:
public class MyPagerAdapter extends PagerAdapter {
Display display = getWindowManager().getDefaultDisplay(); // The method getWindowManager() is undefined for the type MyPagerAdapter
display.getSize(size);
...
}
从任何上下文引用(例如,在intantiateItem
中,您都可以通过执行以下操作来获取对DisplayMetrics
类的引用
context.getResources().getDisplayMetrics()
哪个为您提供对DisplayMetrics
类DisplayMetrics的引用
特别为您使用的是此属性的widthPixels
和heightPixels
属性,它们返回设备的原始像素高度和宽度。
getSystemService(WINDOW_SERVICE)
您可以使用WindowManager进行此操作
WindowManager wm = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();