android獲得當前view在屏幕中坐標的方法
更新時間:2015年10月08日 14:35:18 作者:pgalxx
這篇文章主要介紹了android獲得當前view在屏幕中坐標的方法,涉及Android針對view坐標相關屬性的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了android獲得當前view在屏幕中坐標的方法。分享給大家供大家參考。具體如下:
final int[] location = new int[2]; view.getLocationOnScreen(location);
這樣就可以得到該視圖在全局坐標系中的x,y值,(注意這個值是要從屏幕頂端算起,也就是說包括了通知欄的高度)
//獲取在當前屏幕內(nèi)的絕對坐標 location[0] x坐標 location[1] y坐標
應用 ,我們可以用來記錄上一次listview滾動到了那里
首先我們需要一個記錄當前滾動位置的全局變量:
復制代碼 代碼如下:
private float OldListY = -1;
然后在 listView 的 onItemClick() 或 onItemLongClick() 事件中獲取 OldListY:
lstView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
int Pos[] = { -1, -1 }; //保存當前坐標的數(shù)組
arg1.getLocationOnScreen(Pos); //獲取選中的 Item 在屏幕中的位置,以左上角為原點 (0, 0)
OldListY = (float) Pos[1]; //我們只取 Y 坐標就行了
}
});
最后要做的就是在 setAdapter() 后恢復先前的位置:
... lstView.setAdapter(adapter); // 重新綁定Adapter lstView.setSelectionFromTop(index, (int) OldListY); // 恢復剛才的位置
希望本文所述對大家的Android程序設計有所幫助。
相關文章
詳解Android的內(nèi)存優(yōu)化--LruCache
LruCache是基于Lru算法實現(xiàn)的一種緩存機制。本文對LruCache的概念和實現(xiàn)原理進行介紹,通過實例分析和使用介紹,讓大家更好的了解LruCache,下面跟著小編一起來看下吧2016-12-12
Android 解決使用SearchView時軟鍵盤不支持actionSearch的問題
本文主要介紹使用SearchView時軟鍵盤不支持actionSearch,這里提供了解決方案,希望能幫助開發(fā)Android應用的同學2016-07-07

