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,可以在開始就能得到寬度。