一个Android上的以滑动揭示的方式显示并切换图片的View
2017-08-05 22:35
375 查看
SlideView是一个Android上的以滑动揭示的方式显示并切换图片的View,以视觉对比的方式把一套相似的图片展示出来。
通过手势识别(GestureDetector),判断用户手指往左或者往右滑动,根据滑动位移揭开和盖上图片,当手指松开时,根据滑动速度和滑动位移的距离决定是翻页,还是滑回当前页。
翻页或滑回时通过ScrollerCompat来计算并画出平滑动画,在规定时间内平滑过度。
继承自View,可在xml布局文件中使用,也可以java代码使用。
在View的onDraw方法中画出当前要显示的图片,文字(名字)和指示器。
```xml
```
设置SlideImageView,设置图片源,和图片切换监听器:
```java
public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
private SlideImageView mSlideImageView;
private String[] urls = new String[]{"assets://test_1.jpg", "assets://test_2.jpg",
"assets://test_3.jpg",
"assets://test_4.jpg",
"assets://test_5.jpg"};
}
```
build.gradle中加入ImageLoader的依赖:
示例
翻页图片揭示效果:特性
设置一组(List<ImageInfo>)待加载的图片(本地图片,网络图片),通过(ImageLoader)库加载出图片并按List的顺序显示图片。通过手势识别(GestureDetector),判断用户手指往左或者往右滑动,根据滑动位移揭开和盖上图片,当手指松开时,根据滑动速度和滑动位移的距离决定是翻页,还是滑回当前页。
翻页或滑回时通过ScrollerCompat来计算并画出平滑动画,在规定时间内平滑过度。
继承自View,可在xml布局文件中使用,也可以java代码使用。
在View的onDraw方法中画出当前要显示的图片,文字(名字)和指示器。
源码:
完整源码地址:SlideView (https://github.com/homgwu/slideview)使用方法
布局中定义SlideImageView:```xml
<com.homg.slideview.SlideImageView android:id="@+id/main_siv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" app:indicatorColor="#FF0000FF" app:indicatorRadius="5dp" app:nameTextColor="#FF0000FF" app:nameTextSize="26sp" app:textMargin="5dp" />
```
设置SlideImageView,设置图片源,和图片切换监听器:
```java
public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
private SlideImageView mSlideImageView;
private String[] urls = new String[]{"assets://test_1.jpg", "assets://test_2.jpg",
"assets://test_3.jpg",
"assets://test_4.jpg",
"assets://test_5.jpg"};
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ImageLoaderConfiguration configuration = ImageLoaderConfiguration .createDefault(this); ImageLoader.getInstance().init(configuration); setContentView(R.layout.activity_main); mSlideImageView = (SlideImageView) findViewById(R.id.main_siv); mSlideImageView.setOnSlideImageListener(new SlideImageView.OnSlideImageListener() { @Override public void onShowImage(int index, SlideImageView.ImageInfo imageInfo) { Log.i(TAG, String.format("index=%d,image info=%s", index, imageInfo)); } }); List<SlideImageView.ImageInfo> imageInfoList = new ArrayList<>(5); for (int i = 0; i < urls.length; i++) { SlideImageView.ImageInfo tempInfo = new SlideImageView.ImageInfo(urls[i], "Image-" + i); imageInfoList.add(tempInfo); } mSlideImageView.setImageInfos(imageInfoList); }
}
```
build.gradle中加入ImageLoader的依赖:
java dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' }
相关文章推荐
- android viewflipper 左右滑动切换显示图片效果
- Android ViewFlipper滑动屏幕切换图片
- Android 使用ViewPager实现左右循环滑动图片和显示当前页码
- Android中同一个ImageView中根据状态显示不同图片
- android列表视图切换:GridView和ListView两种方式来显示一个列表
- Android:使用ViewPager实现左右滑动切换图片 (简单版)
- Android里同一个ImageView显示不同的图片的方法
- android 文字图片混排,在一个TextView中显示文字穿插图片,文字变色效果
- android 同一个ImageView显示不同的图片--->level-list
- Android 同一个ImageView显示不同的图片(LevelDrawable)
- android 怎么把网络图片生成一个Bitmap显示在ImageView中
- ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。 设置的方式包括: 1. 在layout xml中定义Android:s
- ImageView以淡入淡出的方式切换显示的图片
- android imageView 图片显示方式属性
- Android ViewFlipper滑动屏幕切换图片
- Android中同一个ImageView中根据状态显示不同图片
- 在Android中如何获取视频的第一帧图片并显示在一个ImageView中
- Android ViewFlipper滑动屏幕切换图片
- Android:使用ViewPager实现左右滑动切换图片(图上有点点)
- Android:使用ViewPager实现左右滑动切换图片(图上有点点)