前面写过了使用ViewFlipper和ViewPager实现屏幕中视图切换的效果(ViewPager未实现轮播)附链接:

ANDROID中使用VIEWFLIPPER类实现屏幕切换(关于坐标轴的问题已补充更改)

Android 中使用 ViewPager实现屏幕页面切换和页面轮播效果

今天我们在换一种实现方式ImageViewSwitcher。

ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果

ImageSwitcher粗略的理解就是ImageView的选择器。

ImageSwitcher的原理:ImageSwitcher有两个子View:ImageView,当左右滑动的时候,就在这两个ImageView之间来回切换来显示图片。

既然有两个子ImageView,那么我们要创建两个ImageView给ImageSwitcher。创建ImageViewSwitcher中的ImageView是通过ViewFactory工厂来实现的。

下面我们展示下本次实现效果(可以轮播哦):

好了,废话不多说,开始撸代码:

第一步:Layout中建立主布局(FrameLayout)文件activity_main.xml(包含导航原点的LinearLayout布局)

<?xml version="1.0" encoding="utf-8"?>

这里大家也可以通过配置文件来布局下面的导航圆点,不必写死在布局文件中。

第二步:Java中功能实现代码MainActivity.java

import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ViewSwitcher;import java.util.ArrayList;/*** Created by panchengjia on 2016/12/04.*/public class MainActivity extends AppCompatActivity implements ViewSwitcher.ViewFactory,View.OnTouchListener{private ImageSwitcher is;//声明ImageSwitcher布局private LinearLayout point_layout;//声明导航圆点的布局//图片id数组int[] images={R.mipmap.a1,R.mipmap.a2,R.mipmap.a3,R.mipmap.a4};//实例化存储导航圆点的集合ArrayList points = new ArrayList<>();int index;//声明index,记录图片id数组下标float startX;//手指接触屏幕时X的坐标(演示左右滑动)float endX;//手指离开屏幕时的坐标(演示左右滑动)@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);is = (ImageSwitcher) findViewById(R.id.is);is.setFactory(this);//通过工厂实现ImageSwitcherinitpoint();is.setOnTouchListener(this);//设置触摸事件}//初始化导航圆点的方法private void initpoint() {point_layout= (LinearLayout) findViewById(R.id.point_layout);int count = point_layout.getChildCount();//获取布局中圆点数量for(int i =0;i30){//三目运算判断当前图片已经为最后一张,则从头开始index = index+130){//三目运算判断当前图片已经为第一张,则上一张为数组内最后一张图片index = index-1>=0?--index:images.length-1;is.setInAnimation(this,android.R.anim.fade_in);is.setOutAnimation(this,android.R.anim.fade_out);}//设置ImageSwitcher的图片资源is.setImageResource(images[index]);//调用方法设置圆点对应状态setImageBackground(index);}return true;}}

个人感觉,就图片切换轮播来讲,ImageViewSwitcher相对于ViewFlipper和ViewPager实现起来,还是简单了很多。

以上所述是小编给大家介绍的Android中使用imageviewswitcher 实现图片切换轮播导航的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多相关文章

  1. Android 解决沉浸式状态栏下,输入法弹出,布局不会自动调整的BUG
  2. 布局(一)
  3. Android 获取网络视频某一帧图片
  4. 浅谈Android五大布局——LinearLayout、FrameLayout, AbsoulteLa
  5. Android关于图片内存计算
  6. Eclipse项目导入Android Studio,.9图片报错解决办法
  7. Android 布局 精准定位 平衡定位 相对定位

随机推荐

  1. 搭建 android 代码镜像服务
  2. Android获取所在地城市名2
  3. 转:Android下文件操作模式(含SDCard的读写)
  4. 理解Android中垃圾回收日志信息
  5. 【Android】如何用MediaPlayer实现一个简
  6. Android中的数据库
  7. 如何去除launcher 上默认的 google searc
  8. Android 筆記-Linux Kernel SMP (Symmetr
  9. android 包管理系统分析
  10. Android(安卓)install apk 兼容至 Androi