如果我在我的应用中扩展活动,我可以获得宽度和高度:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
或
Display display = getWindowManager().getDefaultDisplay();
stageWidth = display.getWidth();
stageHeight = display.getHeigth();
但是目前我扩展了片段,我无法使用上面的代码来获取宽度。
答案 0 :(得分:50)
尝试以下修改后的代码
DisplayMetrics displaymetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
或
Display display = getActivity().getWindowManager().getDefaultDisplay();
stageWidth = display.getWidth();
stageHeight = display.getHeigth();
基本上你只需要在getActivity()
函数之前放置getWindowManager()
(以获取上下文)。
答案 1 :(得分:1)
这将为您提供所需的内容,而无需上下文或视图:
import android.content.res.Resources;
int width = Resources.getSystem().getDisplayMetrics().widthPixels;
int height = Resources.getSystem().getDisplayMetrics().heightPixels;
答案 2 :(得分:0)
此代码也适用于片段:
int width = getResources().getConfiguration().screenWidthDp;
int height = getResources().getConfiguration().screenHeightDp;
用于比较方向:
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){...}