首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Anko ViewPager上知道当前点击的页面

在Anko ViewPager上获取当前点击的页面,可以通过以下步骤实现:

  1. 首先,确保你已经在项目中引入了Anko库。Anko是一个Kotlin编写的Android布局库,可以简化Android开发过程。
  2. 在你的布局文件中,使用Anko库创建一个ViewPager,并设置其id和布局参数。例如:
代码语言:kotlin
复制
verticalLayout {
    viewPager {
        id = R.id.viewPager
        // 设置布局参数
        layoutParams = LinearLayout.LayoutParams(matchParent, matchParent)
    }
}
  1. 在你的Activity或Fragment中,获取ViewPager的引用,并设置页面切换监听器。例如:
代码语言:kotlin
复制
val viewPager = findViewById<ViewPager>(R.id.viewPager)
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
    override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
        // 页面滚动时的回调
    }

    override fun onPageSelected(position: Int) {
        // 当前页面选中时的回调
        // 在这里可以获取当前点击的页面
        // 例如,可以通过position参数获取当前页面的索引
        // 如果需要获取当前页面的具体内容,可以根据索引从数据源中获取
    }

    override fun onPageScrollStateChanged(state: Int) {
        // 页面滚动状态改变时的回调
    }
})

onPageSelected方法中,你可以通过position参数获取当前点击的页面的索引。如果你的页面是基于数据源动态生成的,你可以根据索引从数据源中获取当前页面的具体内容。

这样,你就可以在Anko ViewPager上知道当前点击的页面了。

关于Anko库的更多信息和使用方法,你可以参考腾讯云的Kotlin开发文档:Kotlin开发文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Kotlin成了Google亲儿子,现在赶紧来学学

作者博客 http://www.jianshu.com/u/d5b531888b2b 前言 在之前一篇文章《Kotlin初探》,我们简单知道了Kotlin这门新语言优势,也接触了一些常见语法及其简单使用...那么,我们该如何在Android中应用这门新语言呢?今天这篇文章带你学习使用Kotlin开发Android应用,并对比我们传统语言Java,让你真真切切感受到他美和优雅。...有时候写是不是想吐,可能有些人说现在不是有一些注解库,butterknife,当我们使用注解时可以不用findViewById了,使用方式如下 ?...并且Button中有一个点击事件,当点击时将EditText内容以toast显示。 ?...然后在onCreate方法中加一句代码,即可创建我们布局页面了。如下 ? 现在我们编译运行,发现效果和布局文件写界面是一样。但是它性能是有优势,其实吧并没有发觉性能优势。

1.4K40

Android开发笔记(一百零一)滑出式菜单

3、通过手势滑动拉出菜单页后,要捕获点击事件完成翻页,即在onSingleTapUp方法中将当前页面切换到内容页。 下面是采用HorizontalListView实现侧滑效果截图: ?...菜单点击时跳回内容页面 菜单点击交互例子可见demo工程ResponsiveUIActivity,主要做法步骤如下: 1、定义一个菜单点击接口OnSlidingMenuListener,其内部定义菜单点击方法...表现在界面上,就是点击菜单布局后回到ViewPager页面,会看到ViewPager头两页变空白了,查看日志发现头两页不会执行onCreateView方法。...我们首次进入Activity页面ViewPager头两个页面已经执行了onCreateView;接着点击菜单项,SlidingMenu把整个内容页面的Fragment替换掉,但这时对于ViewPager...页面来说,仅仅是做了detach操作,并没有做remove或destroy操作,也就是说,ViewPager页面根本就没被回收;所以点击菜单重新回到替换后ViewPager时,系统发现头两页没有回收

1.1K70

Kotlin入门(20)几种常见对话框

因此,Anko库将其做了进一步封装,给Context类添加了一个扩展函数,即“alert(消息内容, 消息标题) { 几个按钮及其点击事件 }”,简化后alert弹窗代码举例如下: alert...认真阅读Anko库里面的selector源码,发现原来该函数利用了AlertDialogsetItems方法,通过setItems方法指定一串文本,并且定义了每项点击事件,其运行结果竟然与Spinner...水平进度对话框 水平进度对话框允许实时刷新当前进度,方便用户知晓已处理进展百分比。...倘若使用Kotlin书写,则借助于Anko库只需下面两行代码: val dialog = progressDialog("正在努力加载页面", "请稍候") dialog.show()...圆圈进度对话框 圆圈进度对话框仅仅展示转圈动画效果,不支持实时刷新处理进度,自然在编码比水平对话框会简化一些,可是用Java来显示圆圈进度对话框,依旧需要下列五行代码: ProgressDialog

1.6K10

Kotlin入门(20)几种常见对话框

因此,Anko库将其做了进一步封装,给Context类添加了一个扩展函数,即“alert(消息内容, 消息标题) { 几个按钮及其点击事件 }”,简化后alert弹窗代码举例如下:     alert...认真阅读Anko库里面的selector源码,发现原来该函数利用了AlertDialogsetItems方法,通过setItems方法指定一串文本,并且定义了每项点击事件,其运行结果竟然与Spinner...水平进度对话框 水平进度对话框允许实时刷新当前进度,方便用户知晓已处理进展百分比。...倘若使用Kotlin书写,则借助于Anko库只需下面两行代码:     val dialog = progressDialog("正在努力加载页面", "请稍候")     dialog.show()...圆圈进度对话框 圆圈进度对话框仅仅展示转圈动画效果,不支持实时刷新处理进度,自然在编码比水平对话框会简化一些,可是用Java来显示圆圈进度对话框,依旧需要下列五行代码:     ProgressDialog

2.7K30

仿微信PhotoView+Viewpager浏览视频,图片,切换下一页前一页恢复原本大小

之前效果 完成效果: 仿微信PhotoView+Viewpager浏览视频,图片,切换下一页前一页恢复原本大小 使用PhotoView+Viewpager浏览图片时,默认情况下一张图片状态是不会恢复...,了解朋友肯定知道Viewpager缓存问题,要解决的话重写Viewpager修改缓存数,这样当然可以,但是效果的话,并不是很好,滑动时候下一页处于黑屏状态,这次给大家分享一个方法,如果有更好或者意见...childCount=mViewPager.getChildCount(); for (int i=0;i<childCount;i++){ //获取当前页面的...view View child=mViewPager.getChildAt(i); //获取当前页面PhotoView...VideoView,代码就不贴出了,大家可根据实际需要进行修改 设置点击事件: photoView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener

39910

ViewPager轻松完成TabHost效果

一期学习了ViewPager简单使用,本期一起来学习ViewPager更多用法。...和标题,左右滑动页面也可以看到Tab处线条跟随改变,如下图所示: 从上面的案例可以发现,PagerTabStrip是ViewPager一个关于当前页面、上一个页面和下一个页面的一个可交互指示器...然后下面紧跟一个ImageView,主要用于指示当前是哪一个Tab标签对应页面,也就是常说滑块。...private int mCurrIndex = 0; // 当前页面的编号 private int mOneDis = 0; // 移动条滑动一页距离 private int...然后同样设置了页面监听器,主要根据滑动到页面把游标滑动找指定位置。关于动画这一块代码,可能有很多新人不太懂,不要太介意这个了,后续会专门进行学习,这里只需要知道可以这样使用就行。

1.5K70

2014-11-3Android学习------关于ViewPager实现步骤--------GIF动画实现

如果你需要做到菜单滑动处理,你还需要增加一些TextView 或者图片,然后给这些控件添加事务处理,也就是点击事件,在点击事件里面启动这个ViewPager监听事件就可以了。...) arg0).removeView(views.get(arg1)); } 3)实例化一个指定页卡:就是向ViewPager控件添加指定页卡 @Override public...类中定义必要变量 这里变量就非常多了,我们一个一个来说了 1)必须要构造出视图集合,也就是一个个视图,填充在ViewPager控件 我们这里展示是利用图片做视图,一个视图就是一个图片..., float arg1, int arg2) { // TODO Auto-generated method stub } 其中三个参数含义分别为: arg0 :当前页面,及你点击滑动页面...arg1:当前页面偏移百分比 arg2:当前页面偏移像素位置 注意:当页面在滑动时候会调用此方法,在滑动被停止之前,此方法回一直得到。

27520

破解 Kotlin 协程(8) - Android 篇

关键词:Kotlin 协程 Android Anko Android 上面使用协程来替代回调或者 RxJava 实际是一件非常轻松事儿,我们甚至可以在更大范围内结合 UI 生命周期做控制协程执行状态...UI 生命周期作用域 Android 开发经常想到一点就是让发出去请求能够在当前 UI 或者 Activity 退出或者销毁时候能够自动取消,我们在用 RxJava 时候也有过各种各样方案来解决这个问题...大家一定用过 RxJava,也一定知道用 RxJava 发了个任务,任务还没结束页面就被关闭了,如果任务迟迟不回来,页面就会被泄露;如果任务后面回来了,执行回调更新 UI 时候也会大概率空指针。...,我们协程就会收到 cancel 指令,尽管这种情况下协程执行不会跟随 Activity onDestroy 而取消,但它与 View 点击事件紧密结合,即便 Activity 没有被销毁,...,结果返回时协程会帮我们切回到主线程——这非常类似 Nodejs 这样单线程工作模式。

1K31

Activity 活动跳转(Java&Kotlin)

//TestActivity 为要跳转页面 startActivity() 就这么简单,不管是从代码还是从意思都比Java要简洁明了,要这样使用的话你Kotlin...② 传递数据 实际开发中页面跳转都不会是单纯跳转,肯定会携带一些参数。...Anko库扩展出来intentFor函数简化启动标志设置方式,列,启动标志FLAG_ACTIVITY_NEW_TASK 对应Anko写法如下: startActivity(intent.newTask...()) 短小精悍 来看一下所有的Java方法对应Anko写法 Intent类启动标志 Anko标志设置函数 FLAG_ACTIVITY_NEW_TASK newTask() FLAG_ACTIVITY_SINGLE_TOP...startActivity(intent.noHistory())//历史 startActivity(intent.clearTask().newTask())//清除之后新建一个任务 ④ 处理返回数据 页面跳转多数情况是上一个页面传递请求参数给下一个页面

1.7K30

Android开发笔记(二十一)横幅轮播页Banner

监听器 ViewPager一般不监听每个页面点击事件,而是监听页面滑动监听事件,对应监听器类是OnPageChangeListener。...该方法三个参数取值说明为:第一个参数表示当前页面的序号;第二个参数表示当前页面偏移百分比,最小值为0,最大值为1;第三个参数表示当前页面的偏移距离,单位px。...,还可自动响应点击事件,点击左侧或右侧标题,页面会自动切换到左侧或右侧视图; 4、要设置每页标题文本,可重写PagerAdaptergetPageTitle,在对应位置返回相应标题文字;...该方法三个参数取值说明为:第一个参数表示当前页面的序号;第二个参数表示当前页面偏移百分比,最小值为0,最大值为1;第三个参数表示当前页面的偏移距离,单位px。...最后,当用户点击某张图片时,页面自然要跳转到该图片对应商品页面或者活动页面。所以Banner还需要把一个页面点击监听器接口开放出来,用于主页面响应这个页面点击事件。

3.1K30

Android进阶之绘制-自定义View完全掌握(二)

ViewPager在运行之后总共会初始化两个页面,最多初始化三个,随着页面的增多,ViewPager会自动销毁前面的页面进而提供给后面的页面使用,这是ViewPage内容优化,我们可以来验证一下,我在初始化和销毁方法中都打印了日志...** * 当页面滚动时候回调此方法 * @param position 当前页面的位置 * @param positionOffset...** * 当页面滚动时候回调此方法 * @param position 当前页面的位置 * @param positionOffset...原理我们知道了,如何通过编码实现呢?很简单,只需要ViewPager设置适配器之后加上如下代码即可。...整个案例也就结束了,这只是ViewPager使用一小部分,这个程序还可以加上很多功能,比如自动播放,然后点击跳转等等,由于篇幅有限,我就不一一实现了,感兴趣可以自己尝试着写一写。

42240

React Native之ViewPagerAndroid 组件

我们知道在Android开发中系统有ViewPager这个组件,作用是实现滚动翻页,在RN中也是有这么一个组件(ViewPagerAndroid),每一个ViewPagerAndroid子容器会被视作一个单独页...回调参数中event.nativeEvent对象会包含如下数据: position 从左数起第一个当前可见页面的下标。...offset 一个在[0,1)(大于等于0,小于1)之间范围,代表当前页面切换状态。值x表示现在”position”所表示页有(1 - x)部分可见,而下一页有x部分可见。]...,意思是页面正在拖拽当中 settling : 处理中,意味着当前页面发生过交互,且正在结束开头或收尾动画。...该属性代表当前选中页面的索引值。 scrollEnabled bool 布尔值,true是默认是,可以滑动,false代表禁止滚动。

99680

一个C#开发者用Java搭建Android框架心路历程

Java框架文章太难写了,因为他引用了太多框架,而没一个框架都有很繁琐配置,把每个框架都写一遍,就等于写书了;所以本文只能大体介绍,但大体介绍,感觉读起来又没有生气,总之非常难写。...最后封装一些常用工具类,就可以开发编写Activity了。 SplashActivity:初始启动页面,进行一个渐变动画展示,然后通过xUint初始化数据库,然后跳转到登录页面。...页面样式我也不擅长,所以这里基本以复制开源项目的样式为主。...登录界面效果: 主页面效果图 XUI简单介绍 XUI是一个非常好用框架,他重新封装了Activity和Fragment,让整体代码逻辑更合理了。...若您觉得这篇文章还不错,请点击下方【推荐】,非常感谢! https://www.cnblogs.com/kiba/p/15480140.html

61710

Android Scroller完全解析,关于Scroller你所需知道一切

ViewPager相信每个人都再熟悉不过了,因此它实在是太常用了,我们可以借助ViewPager来轻松完成页面之间滑动切换效果,但是如果问到它是如何实现的话,我感觉大部分人还是比较陌生, 为此我也是做了一番功课...Scroller是一个专门用于处理滚动效果工具类,可能在大多数情况下,我们直接使用Scroller场景并不多,但是很多大家所熟知控件在内部都是使用Scroller来实现ViewPager、ListView...其实运行一下代码我们就能立刻知道了: ? 可以看到,当我们点击scrollTo按钮时,两个按钮会一起向右下方滚动,因为我们传入参数是-60和-100,因此向右下方移动是正确。...而scrollBy()方法则是让View相对于当前位置滚动某段距离,那每当我们点击一次scrollBy按钮,View的当前位置都进行了变动,因此不停点击会一直向右下方移动。...首先这里我们先根据当前滚动位置来计算布局应该继续滚动到哪一个子控件页面,然后计算出距离该页面还需滚动多少距离。

1.6K60

安卓开发_深入学习ViewPager控件

ViewPager中正显示页面的位置间隔是否超出一个页面,是则将当前页面移除 35 container.removeView(views.get(position)); 36...ViewPager中正显示页面的位置间隔是否超出一个页面,是则将当前页面移除 93 container.removeView(views.get(position));...切换动画(3.0版本以上有效果) 五、进步一学习,实现底部ViewPager+导航标签效果 效果为: 底部有导航部分,点击对应导航按钮(圆点)ViewPager跳转到对应View界面,...获得ViewPager界面,底部导航圆点对应变化 思路:动态添加导航图标(3个圆点,对应是ImageView),点击圆点,执行事件响应,ViewPager跳转 viewPager.setCurrentItem...ViewPager中正显示页面的位置间隔是否超出一个页面,是则将当前页面移除 184 container.removeView(views.get(position)); 185

2K80

Kotlin入门(2)让App开发变得更容易

一篇文章介绍了如何搭建Kotlin开发环境,可是这个开发环境依然基于Android Studio,而在Android Studio使用Java进行编码,本来就是理所应当..." compile "org.jetbrains.anko:anko-common:$anko_version" 编译配置修改完毕,接下来我们尝试进行简单Kotlin编码,看看Kotlin代码究竟有多么简练...选择菜单后打开KotlinActivity创建页面,单击“Next”按钮进入创建信息填写页面,如下图所示: ?...Button是Android常用按钮控件,代码中经常要处理Button控件点击事件,下面的Java代码就是响应Button点击一个例子: final Button btn_click =...,可是因为Java需要实现点击监听器,所以无奈还得写好几行匿名类代码。

1.2K30

Android技巧一:启动屏+功能引导页

前言 很长一段时间没写博客了,再不写点东西真说不过去,把工作一些有价值东西整理出来分享,在当下还有点时效性,不然迟早会烂在肚子里。...先说逻辑 先判断是否第一次启动app,如果是,则进入功能使用导航(最简单做法就是,左右滑动切换查看,滑动到最后一页点击按钮进入首页)。 如果不是,则显示启动屏,2秒之后进入首页。...int arg2) { // arg0 :当前页面,及你点击滑动页面 // arg1:当前页面偏移百分比 // arg2:当前页面偏移像素位置...,切换4个不同View,监听ViewPager页面切换事件来更改底部指示点切换,滑动到最后一个页面,设置按钮点击事件,点击进入首页。...github 更多代码细节,大家看源工程,代码已经上传到github,欢迎大家down下来使用。 一周开发app ?

1.4K20

Android UI设计与开发之使用ViewPager实现欢迎引导页面

} /** * 当滑动状态改变时调用 */ @Override public void onPageScrollStateChanged(int arg0) { } /** * 当当前页面被滑动时调用...*/ @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } /** * 当新页面被选中时调用...Override public void onPageSelected(int position) { //设置底部小点选中状态 setCurDot(position); } /** * 通过点击事件来切换当前页面...) { int position = (Integer)v.getTag(); setCurView(position); setCurDot(position); } /** * 设置当前页面的位置...,让你程序先动起来,才有信心和勇气挑战更复杂UI设计和开发,在后面的几篇章节中,博主也会以同样生动和富有激情讲解,给大家带来更加复杂演示和代码,仿微信、和人人网引导界面的开发,加入了动画效果

50351
领券