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值,(注意这个值是要从屏幕顶端算起,也就是说包括了通知栏的高度)

//获取在当前屏幕内的绝对坐标
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); // 重新绑定Adapter
lstView.setSelectionFromTop(index, (int) OldListY); // 恢复刚才的位置

希望本文所述对大家的Android程序设计有所帮助。

相关文章

  • android视频截屏&手机录屏实现代码

    android视频截屏&手机录屏实现代码

    本篇文章主要介绍了android视频截屏&手机录屏实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-07-07
  • Android控件系列之EditText使用方法

    Android控件系列之EditText使用方法

    EditText是接受用户输入信息的最重要控件。通过前面课程的学习,您可能会猜到可以利用EditText.getText()获取它的文本,但真正的项目中,可能没那么简单,需要更多的限制,如文本长度限制,是否数字限制等等
    2012-11-11
  • Android应用程序模型之应用程序,任务,进程,线程分析

    Android应用程序模型之应用程序,任务,进程,线程分析

    这篇文章主要介绍了Android应用程序模型之应用程序,任务,进程,线程分析,较为详细的分析了Android应用程序模型中关于任务、进程、线程的相关概念及注意事项,需要的朋友可以参考下
    2016-01-01
  • android4.0屏蔽HOME键的简单实现

    android4.0屏蔽HOME键的简单实现

    这篇文章主要介绍了android4.0屏蔽HOME键的简单实现,需要的朋友可以参考下
    2014-02-02
  • Android仿QQ首页ListView左滑置顶、删除功能

    Android仿QQ首页ListView左滑置顶、删除功能

    这篇文章主要为大家详细介绍了Android仿QQ首页ListView左滑置顶、删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android自定义扇形倒计时实例代码

    Android自定义扇形倒计时实例代码

    最近工作中需要做一个倒计时,是那种一个圆,慢慢的被吃掉的动画倒计时,由于自己是android小白,效果还不是多满意,先给大家分享实例代码,仅供大家参考
    2017-03-03
  • flutter日期选择器 flutter时间选择器

    flutter日期选择器 flutter时间选择器

    这篇文章主要为大家详细介绍了flutter日期选择器,flutter时间选择器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 安卓(android)怎么实现下拉刷新

    安卓(android)怎么实现下拉刷新

    这里我们将采取的方案是使用组合View的方式,先自定义一个布局继承自LinearLayout,然后在这个布局中加入下拉头和ListView这两个子元素,并让这两个子元素纵向排列。对安卓(android)怎么实现下拉刷新的相关知识感兴趣的朋友一起学习吧
    2016-04-04
  • Android自定义进度条的圆角横向进度条实例详解

    Android自定义进度条的圆角横向进度条实例详解

    本文通过实例代码给大家详细介绍了Android自定义进度条的圆角横向进度条的相关资料。非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-09-09
  • Android侧滑菜单控件DrawerLayout使用详解

    Android侧滑菜单控件DrawerLayout使用详解

    这篇文章主要为大家详细介绍了Android侧滑菜单控件DrawerLayout的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12

最新评论