简介: 本篇博客主要介绍的是如何使用RecyclerView实现图片水平方向自动循环(跑马灯效果) 效果图: ?...思路: 1.准备m张图片 1.使用Recyclerview实现,返回无数个(实际Interge.MAXVALUE)item,第n个item显示第n%m张图片 3.使用recyclerview.scrollBy...每个一段时间水平滚动一段距离 4.通过layoutManager.findFirstVisibleItemPosition()获取当前显示的第一个View是第几个item,上面的ImageView显示对应...+id/img" android:src="@drawable/p5" android:scaleType="fitXY" / <android.support.v7.widget.RecyclerView..."10dp" android:id="@+id/recyclerview" </android.support.v7.widget.RecyclerView </LinearLayout
RecyclerView的滚动事件OnScrollListener研究 http://www.open-open.com/lib/view/open1477623086381.html 滚动参数 http...() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int...newState) { super.onScrollStateChanged(recyclerView, newState); if (...hintKbTwo(); } } @Override public void onScrolled(RecyclerView...recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); int
当RecyclerView内容过多,超出屏幕的时候,需要让它自己滚动展示数据,尤其是某些Android设备处于高处,或是不可被触摸点击的,这样的情况下,让其自己滚动展示数据尤为重要了 自动滚动的方案有很多种...class AutoPollRecyclerView : RecyclerView { var autoPollTask //滚动线程 : AutoPollTask?...= null private var running //是否正在滚动 = false private var canRun //是否可以自动滚动,根据数据是否超出屏幕来决定...} } 上面代码实现了最基本的滚动功能,但有时候Adnroid设备可以触摸的话,而当前recyclerview正在滚动,又去滑动它,那就会造成界面错乱,数据错乱了,所以还需要重写拦截onTouchEvent...方法,当触摸到recyclerview的时候,即在ACTION_DOWN的时,停止滚动线程,在ACTION_UP、ACTION_CANCEL时再开启线程。
它们不同的是 HorizontalScrollView 用于添加水平滚动,而 ScrollView 用于添加垂直滚动。 突然间想到 做一个屏幕下方水平滑动,屏幕上方并作出相应的反应的效果。...只是这个效果还有所缺陷,加载了 13 张图片,在屏幕下方水平滚动到最后一页时,第 9 张的图片并没有在上面的显示出来(原作者的也有这个问题);如果图片的数量小于或者等于 4 张时则不能运行。...loadNextImage() { // 数组边界值计算 if (mCurrentIndex == mAdapter.getCount() - 1) { return; } //移除第一张图片,且将水平滚动位置置...那就不用水平滚动了,那样就感觉使用 HorizontalScrollView 失去了意义。 所用到的布局文件: content_main.xml : <?...</RelativeLayout image_item_layout.xml (主要用于提供水平滚动的图片(屏幕底部)): <?
简评:Android Support Library 26 中终于实现了一个等待已久的功能: RecyclerView 的快速滚动 。...Android 官方早就在建议开发者使用 RecyclerView 替代 ListView,RecyclerView 也确实表现要好于 ListView,除了没有快速滚动,就像下面这样: ?...因此,之前要想在 RecyclerView 上实现快速滚动,往往是依赖第三方库,比如:FutureMind/recycler-fast-scroll 或 timusus/RecyclerView-FastScroll...现在,来看一看具体怎么实现 RecyclerView 的快速滚动: <?xml version="1.0" encoding="utf-8"?...fastScrollHorizontalThumbDrawable: 水平滚动块。 fastScrollHorizontalTrackDrawable: 水平滚动栏背景。
本文实例为大家分享了android水平循环滚动控件的具体代码,供大家参考,具体内容如下 CycleScrollView.java package com.example.test; import...android.content.Context; import android.graphics.Rect; import android.os.Handler; import android.util.AttributeSet...android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.Scroller...<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content...android:id="@+id/item_text" android:layout_width="80dip" android:layout_height="20dip" android:layout_y
还有就是只能够纵向滚动,如果要想实现横向移动,用 ListView 是做不到的。 RecyclerView 可以说是一个增强版的 ListView 。...recyclerView 示例 我们使用了 recyclerView 创建出了 ListView 的效果,而且代码逻辑更清晰咯。 2 横向滚动 现在让我们把这些猫变为 “横向滚动” 吧。...我们把 ImageView 与 TextView 都设置为水平居中,而且用 android:layout_marginTop,让文字与图片保持了一段距离,这样更美观。...横向排列 我们可以在水平方向上滑动来查看屏幕外的 “猫” 啦。..." android:layout_marginTop="10dp" / </LinearLayout 这里把 LinearLayout 的宽度改为 wrap_content,这样宽度会根据实际的布局列数自动适配
中的dependencies闭包中加入compile ‘com.android.support.recyclerview-v7:xx.x.x'(x是当前最新版本) 2.布局加入RecyclerView...因为Android将RecyclerView定义在support库中,想要使用该控件就必须要添加相应的依赖库才可以的。所以就有了第一步的操作。...那是因为RecyclerView 并不是内置在系统SDK当中,所以需要把完整的包路径名android.support.v7.widget.RecyclerView写出来)。...设置布局管理器 //设置为垂直方向 //水平方向的参数为:(this,LinearLayoutManager.HORIZONTAL, false); LinearLayoutManager...(layoutManager); 对了运行的效果如下,可以实现上下滚动: ?
本文实例为大家分享了Android GridView实现横向列表水平滚动的具体代码,供大家参考,具体内容如下 有时候根据项目需要,使用可横向滑动的GridView。...<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent..." android:gravity="center" android:numColumns="auto_fit" android:scrollbars="none" android...<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent...id_gridview_home.setColumnWidth(itemWidth); // 设置列表项宽 id_gridview_home.setHorizontalSpacing(5); // 设置列表项水平间距
昨天UI妹子给了给需求,展示水平分页效果,而且第二页要默认显示一部分,提示用户水平可以滑动,先上效果图: ?...,肯定尽量使用Recyclerview去复用View,而且ViewPager并不能复用,所以考虑之后,还是要用Recyclerview去实现。...解决思路 既然打算用Recyclerview实现,很明显这就可以用GridLayoutManager处理横向滑动的列表,初步实现横向列表的效果,列数为4的横向分页效果 ?...横向列表效果是实现了,但是并没有达到设计稿的要求,第二页要默认显示一部分,那么就要从水平方向上去思考解决问题,既然第二页要显示一部分,假如显示16dp,那么将第一页列表宽度减少右边距16dp,第二页就可以在第一页显示了...在Recyclerview的Adapter中,先上布局: <?xml version="1.0" encoding="utf-8"?
记录 RecyclerView 滚动位置并恢复是一个很常见的需求,通常需要精准恢复到上次的位置。...预计会用到 RecyclerView 相关的三个知识点: 监听 RecyclerView 滚动状态 监听 RecyclerView 完成绘制 滚动 RecyclerView 到指定的位置 思路: 在「RecyclerView...LinearLayoutManager(mContext); linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); // 水平...前置知识 监听 RecyclerView 滚动状态 调用 recyclerView.addOnScrollListener(onScrollListener); 来设置 RecyclerView 的滚动监听器...Android: How to get the current X offset of RecyclerView?
觉得甚是神奇,打开开发者模式显示布局,发现歌词部分不是采用 android 控件的写的,应该是前端写的。于是,我想,能不能用 recyclerView 实现这个自动回滚到中间位置呢。...分析 首先先考虑,滚动到指定位置是如何操作的?...// 滚动到指定位置 recyclerView.scrollToPosition(position); // 平滑滚动到指定位置 recyclerView.smoothScrollToPosition(...recyclerView.scrollBy(x, y) 可是,问题是滚动到中间位置啊?这个怎么办呢?这样子行不行呢?...RecyclerView 有一个滚动监听方法: mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
您可能在开发过程中遇到过这种情况,在 Activity/Fragment 被重新创建后,RecyclerView 丢失了它之前保有的滚动位置信息。...通常这种情况发生的原因是由于异步加载 Adapter 数据,且数据在 RecyclerView 需要进行布局的时候尚未加载完成,导致 RecyclerView 无法恢复到之前的滚动位置。...从 1.2.0-alpha02 版本开始,Jetpack RecyclerView 提供了一个新的 API,可以让 Adapter 在数据加载完成之前阻塞布局行为 ,从而避免丢失滚动位置信息。...恢复至原有滚动位置 有好几种方法可以用来恢复 RecyclerView 至正确的滚动位置,您可能已经在实际项目中用到了这些方法。...() > 0) 的时候,才恢复 RecyclerView 的状态。
RecyclerView是listview之后的又一利器,它可以实现高度的定制。今天就利用RecyclerView实现我们需要的相册效果。 先上一个图: ?...主要实现就是一个RecyclerView+RecyclerView.Adapter实现。...Activity的布局文件: <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view"...android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ptr="http://schemas.android.com
RecyclerView是listview之后的又一利器,它可以实现高度的定制。今天就利用RecyclerView实现我们需要的相册效果。...先上一个图: 主要实现就是一个RecyclerView+RecyclerView.Adapter实现。...Activity的布局文件: <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view"...android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ptr="http://schemas.android.com
一行超出的内容默认是垂直方向显示滚动条,如果需要水平方向滚动条 主要用到并排Div 的父级设置white-space: nowrap,并排的div设置display:inline-block; 因为display
本文介绍了Android 基于RecyclerView实现的歌词滚动自定义控件,分享给大家,具体如下: 先来几张效果图: ? ?...((;′⌒`)) 接下来说一下实现原理: 该控件分为以下几个部分: 歌词自动滚动 歌词颜色字体变化 触碰屏幕歌词不滚动,高亮显示,离开时自动移动到当前歌词位置 触碰屏幕中间线条出现以及显示该歌词的时间...1.对于滚动,我们可以调用 RecyclerView.smoothScrollBy() 方法, 相对于 ScrollBy() 方法,该方法能够实现平滑滑动。 我设置了总共显示九句歌词。...mWordList); wordList.add(""); wordList.add(""); wordList.add(""); wordList.add(""); 由于歌词的滚自动滚动是根据歌词时间来进行移动的...然后调用自动移动滚动方法和高亮方法。
最近在做Android 的MP3播放的项目,要实现歌词的自动滚动,以及同步显示。 lyric的歌词解析主要用yoyoplayer里面的,显示部分参考了这里 ,这里只是模拟MP3歌词的滚动。...滚动实现的代码其实也简单。显示画出当前时间点的歌词,然后再分别画出改歌词后面和前面的歌词,前面的部分往上推移,后面的部分往下推移,这样就保持了当前时间歌词在中间。...; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import...android.graphics.Path; import android.graphics.Typeface; import android.util.AttributeSet; import...; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; public class
Override protected int getVerticalSnapPreference() { return SNAP_TO_START;//具体见源码注释 } } 3、RecyclerView
" android:src="@mipmap/ic_launcher"/> <android.support.v7.widget.RecyclerView android...:layout_below="@+id/image" android:id="@+id/recyclerView" android:layout_width="match_parent..." android:layout_height="wrap_content"> </RelativeLayout...= (RecyclerView) findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager...> <android.support.v7.widget.RecyclerView android:id="@+id/productRv"
领取专属 10元无门槛券
手把手带您无忧上云