1. 程式人生 > >android 控制元件 獲取 position

android 控制元件 獲取 position

原來也一直有用的是vv.getLocationOnScreen(location)
但是具體剩下的 幾個獲取的沒有詳細瞭解過,今天查了下資料

  1. api
Text View  vv;

vv.getLocationInWindow(location)
vv.getLocationOnScreen(location)
vv.getLocalVisibleRect(r)
vv.getGlobalVisibleRect()

vv.getLeft ()
vv.getTop()
vv.getBottom()
vv.getRight()
  1. 用法

getLocationOnScreen
這個是我經常用的,獲得到的 x,y 就是相對於螢幕而言的

int[] position = new int[2]; 
vv.getLocationOnScreen(position); 

getLocationInWindow
這個是相對於視窗而言, 也就是說
X 是一樣的,
Y = 標題欄高度(如果有標題欄)+ 狀態列高度+ view相對狀態列的Y

上面其實是資料和 OnScreen差不多的
但是 如果是 windowActivity的話

就是相對於 windowActivity 的x y 了。

int[] position = new int[2]; 
vv.getLocationOnScreen(position); 

getLocalVisibleRect


這個一看就知道是 visibile(可見),取到的是本view的x y

Rect rect= new Rect(); 
button.getLocalVisibleRect(rect); 

getGlobalVisibleRect
Global 一看就是全域性的,獲取全域性座標系的一個檢視區域, 返回一個填充的Rect物件;該Rect是基於總整個螢幕的

Y = 標題欄高度(如果有標題欄)+ 狀態列高度+ view相對狀態列的Y
但是 如果是 windowActivity的話

就是相對於 windowActivity 的x y 了。

Rect rect= new Rect(); 
vv.getGlobalVisibleRect(rect);

相關推薦

android 控制元件 獲取 position

原來也一直有用的是vv.getLocationOnScreen(location), 但是具體剩下的 幾個獲取的沒有詳細瞭解過,今天查了下資料 api Text View vv; vv.g

Android控制元件獲取焦點

問題來源: 使用android:ellipsize="marquee"這個屬性時,發現textview並不能實現跑馬燈效果,百度之,說是要先獲取焦點,於是乎,textview.requestFocus();然並卵。 然後就有了這篇文章,主角上場:reques

Android 控制元件獲取焦點

如果想讓頁面上的某個控制元件獲得焦點,比如Button(mBtn),則可以通過如下程式碼實現:mBtn.setFocusable(true); mBtn.setFocusableInTouchMode(true); mBtn.requestFocus();

子父控制元件獲取焦點問題:android:descendantFocusability用法簡析

開發中很常見的一個問題,專案中的listview不僅僅是簡單的文字,常常需要自己定義listview,自己的Adapter去繼承BaseAdapter,在adapter中按照需求進行編寫,問題就出現了,可能會發生點選每一個item的時候沒有反應,無法獲取的焦點。原因多半是由於在你自己

Android初級教程_獲取Android控制元件的寬和高

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

獲取Android控制元件的寬和高

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

最簡單也最難——如何獲取Android控制元件的高度

問題 如何獲取一個控制元件的長和高,相信很多朋友第一眼看見這個問題都會覺得很簡單,直接在onCreate裡面呼叫getWidth、getMeasuredWidth不就可以獲得了嗎,但是,事實上是並沒有簡單的,不信的話,你可以去試一下,在onCreate裡面,你

Android--listView中的button控制元件獲取item的值

在listview中的listitem設定事件響應,如果listitem中有button控制元件,這時候listitem就不會捕獲到點選事件,而預設的是listitem中的button會捕獲點選事件

獲取Android控制元件的真實寬高,親測有效

//方法1 int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.Measure

自定義ListView listView中子控制元件獲取點選position

自定義一個listView ,然後再new 出來的BaseAdapter的繼承類中實現監聽和獲取position。然後自己封裝了一個Adapter。其中借鑑了網上別人的程式碼,然後作了部分修改,做個mark。 借鑑地址:http://blog.csdn.net/xinqiq

android中 如何設定控制元件獲取焦點

舉例用的EditText控制元件 直接上程式碼: private EditText et_pwd; et_pwd = (EditText) findViewById(R.id.password_edit); et_pwd.setFocusable(true); et_p

WPF 控制元件獲取焦點後有個虛框。怎麼取消掉

剛用WPF對他可謂是一臉懵逼。後來百度查些資料發現。 當一個容器裡面有一個或多個可以獲得焦點的控制元件時候,我們按tab鍵那些控制元件就會依次獲得焦點,獲得了焦點的控制元件就會呈現出一種特殊的外觀,預設為我們看到的虛線,也可以修改成其他的外觀,背景色,前景色,邊框等屬性都可以在獲得焦點後發生改變,失去焦點後

Android控制元件之LabelView

          最近研究android控制元件開發,學習無捷徑,逛github,看到一個LabelView的demo,感覺還是挺不錯,也比較實用,所以拿來學習了一下。         附上源專案的地址:

Android控制元件之圓形進度條

Android-自定義ProgressBar實現圓弧進度條 在之前的專案中用到過這個,感覺還是非常實用的,我實現的是額度的增長. 繼承於ProgressBar實現,保留了Progressbar的特性,原始碼在文尾。

Android控制元件提示框與執行緒簡介

訊息提示框 1. Toast(吐絲框)   1.1 Toast是Android中的一種簡易的訊息提示框   1.2 使用這個類的最簡單的方法是呼叫靜態方法構造您所需要的一切,並返回一個新的Toast物件。       Toast toast=To

Android控制元件常用屬性

可見(visible) XML檔案:android:visibility="visible" Java程式碼:view.setVisibility(View.VISIBLE); 居中: 1. LinearLayout a). android:layout_gravity="cen

Android控制元件】點選變暗效果

需要準備 兩張圖片做背景,一張的正常顯示的效果,一張是點選後呈現的效果。 或者兩個表示不同效果的xml檔案,一個表示正常顯示的效果,一個表示點選後呈現的效果。 <!--greenbutton_pressed--> <

react.js antd datePicker控制元件獲取時間與從資料庫獲取時間繫結到時間選擇器上

npm install moment --save # npm yarn add moment let moment = require('moment'); //資料庫存入的時間為 let datam1=2018-11-20 17:35:00 //如果是時間戳,請自行轉換 //onCh

Android控制元件之ListView(初識)

ListView 控制元件可使用四種不同檢視顯示專案。通過此控制元件,可將專案組成帶有或不帶有列標頭的列,並顯示伴隨的圖示和文字。 ListView有四種模式: 其作用是新增選擇按鈕框。 設定單選框 Lv.setChoiceMode(ListView.CHOICE_MOD

Android控制元件之AutoCompleteTextView提示輸入

效果圖  AutoComepleteTextView 控制元件的主要的作用是在使用者輸入中,提示輸入。但是隻能提示一次。這裡就出項了MultiautoCompleteTextView控制元件,其主要的功能是也是在使用者輸入中提示輸入。 AutoComepleteTextVie