国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android獲得當前view在屏幕中坐標的方法

2020-04-11 11:24:25
字體:
來源:轉載
供稿:網友

本文實例講述了android獲得當前view在屏幕中坐標的方法。分享給大家供大家參考。具體如下:

final int[] location = new int[2];view.getLocationOnScreen(location);

這樣就可以得到該視圖在全局坐標系中的x,y值,(注意這個值是要從屏幕頂端算起,也就是說包括了通知欄的高度)

//獲取在當前屏幕內的絕對坐標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 }; //保存當前坐標的數組    arg1.getLocationOnScreen(Pos); //獲取選中的 Item 在屏幕中的位置,以左上角為原點 (0, 0)    OldListY = (float) Pos[1]; //我們只取 Y 坐標就行了  }});

最后要做的就是在 setAdapter() 后恢復先前的位置:

...  lstView.setAdapter(adapter); // 重新綁定AdapterlstView.setSelectionFromTop(index, (int) OldListY); // 恢復剛才的位置

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东阳市| 百色市| 类乌齐县| 嘉峪关市| 新昌县| 额济纳旗| 什邡市| 遂川县| 洪湖市| 文山县| 南漳县| 景洪市| 晋宁县| 清新县| 南川市| 平凉市| 鄢陵县| 邻水| 辛集市| 吴旗县| 大理市| 安图县| 石河子市| 祁东县| 顺义区| 天峻县| 阿尔山市| 沂源县| 鄂伦春自治旗| 福安市| 长宁县| 临沧市| 辉县市| 娄底市| 滕州市| 古交市| 丹凤县| 黄浦区| 曲阜市| 庄浪县| 易门县|