androidgetwidth
A. Android 如何获得设备触摸板(屏)的长宽
android获巧吵取屏幕的咐宽橡高度和宽衡旁度用到WindowManager这个类,两种方法:
1、WindowManager wm = (WindowManager) getContext()
.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
2、WindowManager wm = this.getWindowManager();
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
B. android中getWidth和getMeasuredWidth之间的区别
getWidth(): View在设定好布局后整个View的宽度。
getMeasuredWidth(): 对View上的内容进行测量后瞎慎得到的View内容占据的宽度,
前提是你必须在父布局的onLayout()方法或者此View的磨衫敬onDraw()方法里调用measure(0,0);
(measure中的参数的值你自己可以定义塌键),否则你得到的结果和getWidth()得到的结果是一样的。
C. android怎么获取图片的大小
1、控制大小和位置
/*
* 获取对话框的窗口对象及参数对象以修改对话框的布局设置,
* 可以直接调用getWindow(),表示获得这个Activity的Window
* 对象,这样这可以以同样的方式改变这个Activity的属性.
*/
Window dialogWindow = dialog.getWindow();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
dialogWindow.setGravity(Gravity.LEFT | Gravity.TOP);
/*
* lp.x与lp.y表示相对于原始位置的偏移.
* 当参数值包含Gravity.LEFT时,对话框出现在左边,所以lp.x就表示相对左边的偏移,负值忽略.
* 当参数值包含Gravity.RIGHT时,对话框出现在右边,所以lp.x就表示相对右边的偏移,负值忽略.
* 当参数值包含Gravity.TOP时,对话框出现在上边,所以lp.y就表示相对上边的偏移,负值忽略.
* 当参数值包含Gravity.BOTTOM时,对话框出现在下边,所以lp.y就表示相对下边的偏移,负值忽略.
* 当参数值包含Gravity.CENTER_HORIZONTAL时
* ,对话框水平居中,所以lp.x就表示在水平居中的位置移动lp.x像素,正值向右移动,负值向左移动.
* 当参数值包含Gravity.CENTER_VERTICAL时
* ,对话框垂直居中,所以lp.y就表示在垂直居中的位置移动lp.y像素,正值向右移动,负值向左移动.
* gravity的默认值为Gravity.CENTER,即Gravity.CENTER_HORIZONTAL |
* Gravity.CENTER_VERTICAL.
*
* 本来setGravity的参数值为Gravity.LEFT | Gravity.TOP时对话框应出现在程序的左上角,但在
* 我手机上测试时发现距左边与上边都有一小段距离,而且垂直坐标把程序标题栏也计算在内了,
* Gravity.LEFT, Gravity.TOP, Gravity.BOTTOM与Gravity.RIGHT都是如此,据边界有一小段距离
*/
lp.x = 100; // 新位置X坐标
lp.y = 100; // 新位置Y坐标
lp.width = 300; // 宽度
lp.height = 300; // 高度
lp.alpha = 0.7f; // 透明度
// 当Window的Attributes改变时系统会调用此函数,可以直接调用以应用上面对窗口参数的更改,也可以用setAttributes
// dialog.onWindowAttributesChanged(lp);
dialogWindow.setAttributes(lp);
/*
* 将对话框的大小按屏幕大小的百分比设置
*/
// WindowManager m = getWindowManager();
// Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
// WindowManager.LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的参数值
// p.height = (int) (d.getHeight() * 0.6); // 高度设置为屏幕的0.6
// p.width = (int) (d.getWidth() * 0.65); // 宽度设置为屏幕的0.95
// dialogWindow.setAttributes(p);
D. android如何获取控件宽度
用getWidth()方法,可以获取像素单位的宽度。
android的控件一般是继承的android.View这个类,所以可以直接用View#getWidth()方法获取控件宽度。另外这个方法是final方法,无法被子类覆盖,所以可以安心调用
E. Android自定义控件复写onDraw()方法,getWidth()getLeft()获取什么
getWidth 字面就理解了, 获取控件宽, getLeft 是获取控件与左侧距离,也就是X值 top也就是Y值,通常Android 以左上角为坐标原点, 所以获取 left 就是 X,top是y值 而不是Bottom和Right。
F. android获取布局的高高度和宽度的问题
java">imageback.post(newRunnable(){
run(){
intw=imageback.getWidth().
}
})
只有在View执行完measure之后,才会有width和height
G. 为什么View中的getWidth()和getHeight()值为0
在View的构造函数中戚携迟获取getWidth()和getHeight()
当一个view对象创建时,android并不知道其大小,所以getWidth()和getHeight()返回的结果是0,真正高李大小是在计算布局时才能计算出来,所以会发现一个有趣的隐族事,即在onDraw( ) 却能取得长宽的原因。
H. android如何获取整个屏幕大小
有两种方式:(获取到的大小准确度与手机的类型有关,google手机你还需要加上底部栏)
1.
WindowManager
wm
=
(WindowManager)
getContext()
.getSystemService(Context.WINDOW_SERVICE);
int
width
=
wm.getDefaultDisplay().getWidth();
int
height
=
wm.getDefaultDisplay().getHeight();
2.
WindowManager
wm
=
this.getWindowManager();
int
width
=
wm.getDefaultDisplay().getWidth();
int
height
=
wm.getDefaultDisplay().getHeight();
I. android 更加getWidth() 获取控件宽度 为0
重写View的onSizeChange,可以在开始就能得到宽度。