1. 程式人生 > >Android 獲取控制元件的座標位置

Android 獲取控制元件的座標位置

知識點很少,只是為了做個筆記

獲取一下控制元件,比如 button EditText……的座標位置

View v1 = (View) button1;
View v2 = (View) editText1;
int[] l1 = {0, 0};
int[] lv2 = {0, 0};
v1.getLocationInWindow(l);
v2.getLocationInWindow(lv2);
l1和l2就是 按鈕(button)和輸入框(EditText1)的左上角那個點的座標了。要想獲取button1整個區域的座標範圍
v1.getHeight()得到它的高度, l1[1]+v1.getHeight()就是此控制元件最下邊緣的座標了。同理
v1.getWidth()得到它的寬度, l1[0]+v1.getWidth()就是此控制元件最右邊緣的座標了。

有的時候獲取點選效果的座標
 MotionEvent event;
event.getAction() == MotionEvent.ACTION_DOWN;
event.getRawY 縱座標 
event.getRawX 橫座標

相關推薦

Android 獲取控制元件座標位置

知識點很少,只是為了做個筆記 獲取一下控制元件,比如 button EditText……的座標位置 View v1 = (View) button1; View v2 = (View) editText1; int[] l1 = {0, 0}; int[] lv2 =

android 獲取控制元件大小和設定調整控制元件位置XY

網上很多人對設定控制元件的位置都使用      view.setPadding(left, top, right, bottom) ,其實這玩意很差勁,它是設定自己本身位置的偏移,我們很少需要這種效果,我需要的設定控制元件相對螢幕左上角的X 、Y位置。眾裡尋他千百度,驀然回首,那人卻在燈火闌珊處!

Android獲取控制元件位置

getLocationOnScree:計算該檢視在全域性座標系中的x,y值,(注意這個值是要從螢幕頂端算起,也就是索包括了通知欄的高度)//獲取在當前螢幕內的絕對座標 getLocationInWindow :計算該檢視在它所在的widnow的座標x,y值,//獲取在整個視

Android 獲取控制元件的寬和高

我們都知道在onCreate()裡面獲取控制元件的高度是0,這是為什麼呢?我們來看一下示例: 首先我們自己寫一個控制元件,這個控制元件非常簡單: publicclass MyImageView extends ImageView {       public M

JS獲取控制元件絕對位置

<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/htm

Android 獲取控制元件的寬高 dp和px之間的轉換

怎麼獲取控制元件的高度呢 先看一下xml的佈局<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an

Android 佈局控制元件擺放位置

<!--android:layout_above 將該控制元件的底部至於給定ID的控制元件之上android:layout_below 將該控制元件的頂部至於給定ID的控制元件之下android:layout_toLeftOf 將該控制元件的右邊緣和給定ID的控制元件的

Android獲取控制元件大小的方法

在Android中很多時候都需要獲取到控制元件的大小,這樣對於佈局的計算有許多的幫助,比如一個GridView佈置成多少行多少列是需要提前知道自己允許的最大的高度和寬度才能計算,這樣就需要得到控制元件的大小。控制元件的大小是在View的measure的過程計算出來的。所有我

Android 根據座標獲取控制元件方法

/** * 根據座標獲取相對應的子控制元件<br> * 在Activity使用 * * @param x座標 * @param y座標 * @return 目標V

Android獲取控制元件的寬高和位置

獲取控制元件的絕對位置(包括狀態列)可以用這種方法,呼叫方法後,location[0]和location[1]就分別被賦值了。 int[] location = new int[2]; view.getLocationOnScreen(loc

Qt獲取控制元件位置座標詳解

1.     QPoint QMouseEvent::pos()      這個只是返回相對這個widget(過載了QMouseEvent的widget)的位置。       const Returns the position of the mouse cursor, r

Qt獲取控制元件位置座標總結

      Returns the position of the cursor (hot spot) of the primary screen in global screen coordinates. You can call QWidget::mapFromGlobal() to translate

如何獲取控制元件在窗體上的位置座標和大小值

在進行窗體佈局的時候,設定控制元件的位置和大小,大家可以在VS自動填充的程式碼中可以清晰的看到諸如這樣的程式碼: this.Label1.Location = new Point(12,5); this.Label1.Size = new Point(34,13); 那麼,同

如何獲取控制元件座標位置

//location [0]是x座標,location [1]是y座標int[] location = new int[2] ;// 獲取在當前視窗內的絕對座標view.getLocationInWi

duilib中獲取控制元件位置或者大小不對的可能的原因

duilib初學者可能總會有這樣的疑問:為什麼我獲取的控制元件位置或者大小和我想象中的不一樣? 位置不一樣可能的原因: 1.xml中直接配置的位置和實際顯示之後的位置確實是不一樣的.xml中設定的位置(相對或絕對)都是基於他的父控制元件左上角.而實際顯示之後獲取的位置,是基於整個客戶區的

android獲取螢幕寬高與獲取控制元件寬高

// 獲取螢幕寬高(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 螢幕寬(畫素,如:480px) int screenHeight = getWindowManager().getDe

獲取控制元件相對父視窗的座標

首先說明幾個常用windows API函式 1.GetClientRect 該函式獲取視窗客戶區的大小。注意一下:視窗的客戶區為視窗中除標題欄、選單欄之外的地方。 在Win32 SDK, 該API函式原型為 BOOL GetClientRect( HWND hWnd, //

Android在程式碼中修改控制元件位置

//這裡我用FrameLayout佈局為列,其他佈局設定方法一樣,只需改變佈局名就行 FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) photoView.getLayoutParams(); //

Android獲取控制元件尺寸的時機

在Android開發的時候,我們通常要獲取控制元件的大小。在activity中獲取控制元件的大小,onCreate()方法獲取到的值往往是0,是因為在系統執行該方法的時候,控制元件還沒有繪製完成。而在activity獲取或失去焦點的時候會呼叫一個onWindowFocusCh

android 在java程式碼中動態設定控制元件位置和設定片大小

需要動態改變佈局裡面控制元件的相對位置 如: 1.改變RelativeLayout佈局裡面某個控制元件的layout_toLeftOf 的屬性 RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)view