有两种方式:(获取到的大小准确度与手机的类型有关,google手机你还需要加上底部栏)
1
WindowManager wm = (WindowManager) getContext()
getSystemService(ContextWINDOW_SERVICE);
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
2
WindowManager wm = thisgetWindowManager();
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
有两种方式:(获取到的大小准确度与手机的类型有关,google手机你还需要加上底部栏)
1
WindowManager wm = (WindowManager) getContext()
getSystemService(ContextWINDOW_SERVICE);
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
2
WindowManager wm = thisgetWindowManager();
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
问题一:如何获取Android手机屏幕高宽值 DisplayMetrics metrics = new DisplayMetrics();
objActivitygetWindowManager()getDefaultDisplay()getMetrics(metrics);
M_NSCREENWIDTH = metricswidthPixels; 屏幕宽度
M_NSCREENHEIGHT = metricsheightPixels; 屏幕高度
问题二:android怎么获取屏幕宽度 在一个Activity的onCreate方法中,写入如下代码:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:
这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
问题三:Android开发 怎样获取屏幕的宽高是多少厘米 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸
下面的代码即可获取屏幕的尺寸。
在一个Activity的onCreate方法中,写入如下代码:
[java] view plain copy print
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
DisplayMetrics metric = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(metric);
int width = metricwidthPixels; 屏幕宽度(像素)
int height = metricheightPixels; 屏幕高度(像素)
float density = metricdensity; 屏幕密度(075 / 10 / 15)
int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:
[html] view plain copy print
>
问题四:Android 如何获得设备触摸板(屏)的长宽 WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);int width = wmgetDefaultDisplay()getWidth();int height = wmgetDefaultDisplay()getHeight();
问题五:android如何获取屏幕宽度 现在获取屏幕宽度一般都是像素。
可以用以下代码:
WindowManager wm = (WindowManager) getContext()
getSystemService(ContextWINDOW_SERVICE);
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
或者是:
WindowManager wm = thisgetWindowManager();
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
问题六:android怎么获取屏幕的宽度 在一个Activity的onCreate方法中,写入如下代码: DisplayMetrics metric = new DisplayMetrics(); getWindowManager()getDefaultDisplay()getMetrics(metric); int width = metricwidthPixels; 屏幕宽度(像素) int height = metricheightPixels; 屏幕高度(像素) float density = metricdensity; 屏幕密度(075 / 10 / 15) int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下: 这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
问题七:js网页如何获取手机屏幕宽度 ]@]@]
@sssss
var x = navigator;
var w=windowinnerWidth
|| documentdocumentElementclientWidth
|| documentbodyclientWidth;
var h=windowinnerHeight
|| documentdocumentElementclientHeight
|| documentbodyclientHeight;
documentgetElementById(p1)innerHTML=屏幕分辨率:+screenwidth + + screenheight+内部窗口: + w + + h
不知道是不是这个 屏幕分辨率 :pc上的桌面分辨率 。手机上是 一个型号固定的分辨率比如
华为8813的分辨率是480854。。 内部窗口是 改变窗口大小刷新一下就有新的数据
问题八:android编程:android中如何获取屏幕大小 获取屏幕尺寸大小,是程序能在不同大小的手机上有更好的兼容性
WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);
wwidth=wmgetDefaultDisplay()getWidth();手机屏幕的宽度
hheight=wmgetDefaultDisplay()getHeight();手机屏幕的高度
问题九:android如何获取整个屏幕大小 状态栏的高度:Rect frame = new Rect();
MainActivitythisgetWindow()getDecorView()getWindowVisibleDisplayFrame(frame);
int topHeigh= frametop;
问题十:Android中,BaseAdapter类中怎么获取屏幕宽度 像这种可能多处能用到的我一般在BaseApplication中初始化: 这样不论在哪里都可以调到
public class App extends Application {
private static App mInstance;
@Override
public void onCreate() {
mInstance = this;
}
/
获取当前手机屏幕的宽
/
public static int getPhoneWidth() {
手机屏幕的宽
WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);
return wmgetDefaultDisplay()getWidth();
}
/
获取当前手机屏幕的高
/
public static int getPhoneHeight() {
手机屏幕的高
WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);
return wmgetDefaultDisplay()getHeight();
}
}
popupWindowsetFocusable(true);
popupWindowsetOutsideTouchable(true);
// 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景
popupWindowsetBackgroundDrawable(new BitmapDrawable());
WindowManager windowManager = (WindowManager) getSystemService(ContextWINDOW_SERVICE);
//获取位置长度
int xPos = -popupWindowgetWidth() / 2
+ getCustomTitle()getCenter()getWidth() / 2;
//设置显示的位置
popupWindowshowAsDropDown(parent, xPos, 4);
1
WindowManager windowManager = getWindowManager();
Display display = windowManagergetDefaultDisplay();
screenWidth = displaygetWidth();
screenHeight = displaygetHeight();
2
DisplayMetrics dm = new DisplayMetrics();
thisgetWindowManager()getDefaultDisplay()getMetrics(dm);//this指当前activity
screenWidth =dmwidthPixels;
screenHeight =dmheightPixels;
以上两种方法在屏幕未显示的时候,还是处于0的状态,即要在setContentView调用之后才有效。
3
还可以在onDraw中由canvas来获得
screenWidth =canvasgetWidth();
screenHeight =canvasgetHeight();
1、控制大小和位置
/
获取对话框的窗口对象及参数对象以修改对话框的布局设置,
可以直接调用getWindow(),表示获得这个Activity的Window
对象,这样这可以以同样的方式改变这个Activity的属性
/
Window dialogWindow = dialoggetWindow();
WindowManagerLayoutParams lp = dialogWindowgetAttributes();
dialogWindowsetGravity(GravityLEFT | GravityTOP);
/
lpx与lpy表示相对于原始位置的偏移
当参数值包含GravityLEFT时,对话框出现在左边,所以lpx就表示相对左边的偏移,负值忽略
当参数值包含GravityRIGHT时,对话框出现在右边,所以lpx就表示相对右边的偏移,负值忽略
当参数值包含GravityTOP时,对话框出现在上边,所以lpy就表示相对上边的偏移,负值忽略
当参数值包含GravityBOTTOM时,对话框出现在下边,所以lpy就表示相对下边的偏移,负值忽略
当参数值包含GravityCENTER_HORIZONTAL时
,对话框水平居中,所以lpx就表示在水平居中的位置移动lpx像素,正值向右移动,负值向左移动
当参数值包含GravityCENTER_VERTICAL时
,对话框垂直居中,所以lpy就表示在垂直居中的位置移动lpy像素,正值向右移动,负值向左移动
gravity的默认值为GravityCENTER,即GravityCENTER_HORIZONTAL |
GravityCENTER_VERTICAL
本来setGravity的参数值为GravityLEFT | GravityTOP时对话框应出现在程序的左上角,但在
我手机上测试时发现距左边与上边都有一小段距离,而且垂直坐标把程序标题栏也计算在内了,
GravityLEFT, GravityTOP, GravityBOTTOM与GravityRIGHT都是如此,据边界有一小段距离
/
lpx = 100; // 新位置X坐标
lpy = 100; // 新位置Y坐标
lpwidth = 300; // 宽度
lpheight = 300; // 高度
lpalpha = 07f; // 透明度
// 当Window的Attributes改变时系统会调用此函数,可以直接调用以应用上面对窗口参数的更改,也可以用setAttributes
// dialogonWindowAttributesChanged(lp);
dialogWindowsetAttributes(lp);
/
将对话框的大小按屏幕大小的百分比设置
/
// WindowManager m = getWindowManager();
// Display d = mgetDefaultDisplay(); // 获取屏幕宽、高用
// WindowManagerLayoutParams p = getWindow()getAttributes(); // 获取对话框当前的参数值
// pheight = (int) (dgetHeight() 06); // 高度设置为屏幕的06
// pwidth = (int) (dgetWidth() 065); // 宽度设置为屏幕的095
// dialogWindowsetAttributes(p);
以上就是关于怎样获取Android手机屏幕的大小全部的内容,包括:怎样获取Android手机屏幕的大小、android如何获取整个屏幕大小、安卓如何获取屏幕宽度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)