返回顶部
首页 > 资讯 > 移动开发 >很赞的引导界面效果Android控件ImageSwitcher实现
  • 480
分享到

很赞的引导界面效果Android控件ImageSwitcher实现

界面Android 2022-06-06 08:06:15 480人浏览 独家记忆
摘要

本文实例为大家分享了Android控件ImageSwitcher实现引导界面的代码,供大家参考,具体内容如下 效果图: 布局代码: <?xml versio

本文实例为大家分享了Android控件ImageSwitcher实现引导界面的代码,供大家参考,具体内容如下

效果图:

布局代码:


<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout xmlns:android="Http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent">
  <ImageSwitcher
    android:id="@+id/imageSwitcher"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
  </ImageSwitcher>
  <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <LinearLayout
      android:id="@+id/ll_view"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_marginBottom="30dp"
      android:gravity="center_horizontal"
      android:orientation="horizontal">
    </LinearLayout>
  </RelativeLayout>
</FrameLayout>

页面代码:


public class ImageSwitcherActivity extends Activity implements ViewSwitcher.ViewFactory, View.OnTouchListener {
  private int[] imgIds;//图片id数组
  private int currentPosition;//当前选中的图片id序号
  private ImageSwitcher mImageSwitcher;//ImagaSwitcher 的引用
  private float downX;//按下点的X坐标
  private ImageView[] tips;//点点数组
  private LinearLayout linearLayout;//装载点点的容器
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_switcher);
    imgIds = new int[]{R.drawable.bg, R.drawable.c2, R.drawable.c3, R.drawable.c4, R.drawable.c5, R.drawable.c6, R.drawable.c7, R.drawable.c8, R.drawable.c9};
    mImageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);//实例化ImageSwitcher
    mImageSwitcher.setFactory(this); //设置Factory
    mImageSwitcher.setOnTouchListener(this);//设置OnTouchListener,我们通过Touch事件来切换图片
    linearLayout = (LinearLayout) findViewById(R.id.ll_view);//指示器布局
    tips = new ImageView[imgIds.length];
    for (int i = 0; i < imgIds.length; i++) {
      ImageView mImageView = new ImageView(this);
      tips[i] = mImageView;
      LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
      layoutParams.rightMargin = 3;
      layoutParams.leftMargin = 3;
      mImageView.setBackgroundResource(R.drawable.page_indicator_unfocused);
      linearLayout.addView(mImageView, layoutParams);
    }
    //上一个界面传过来的位置
    currentPosition = getIntent().getIntExtra("position", 0);
    mImageSwitcher.setImageResource(imgIds[currentPosition]);
    setImageBackground(currentPosition);
  }
  //设置选中的tip的背景
  private void setImageBackground(int selectItems) {
    for (int i = 0; i < tips.length; i++) {
      if (i == selectItems) {
        tips[i].setBackgroundResource(R.drawable.page_indicator_focused);
      } else {
        tips[i].setBackgroundResource(R.drawable.page_indicator_unfocused);
      }
    }
  }
  @Override
  public View makeView() {
    final ImageView i = new ImageView(this);
    i.setBackgroundColor(0xff000000);
    i.setScaleType(ImageView.ScaleType.CENTER_CROP);
    i.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    return i;
  }
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
      case MotionEvent.ACTION_DOWN: {
        downX = event.getX();//手指按下的X坐标
        break;
      }
      case MotionEvent.ACTION_UP: {
        float lastX = event.getX();
        //抬起的时候的X坐标大于按下的时候就显示上一张图片
        if (lastX > downX) {
          if (currentPosition > 0) {
            //设置动画
            mImageSwitcher.setInAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.left_in));
            mImageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.right_out));
            currentPosition--;
            mImageSwitcher.setImageResource(imgIds[currentPosition % imgIds.length]);
            setImageBackground(currentPosition);
          } else {
            Toast.makeText(getApplication(), "已经是第一张", Toast.LENGTH_SHORT).show();
          }
        }
        if (lastX < downX) {
          if (currentPosition < imgIds.length - 1) {
            mImageSwitcher.setInAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.right_in));
            mImageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.lift_out));
            currentPosition++;
            mImageSwitcher.setImageResource(imgIds[currentPosition]);
            setImageBackground(currentPosition);
          } else {
            Toast.makeText(getApplication(), "到了最后一张", Toast.LENGTH_SHORT).show();
          }
        }
      }
      break;
    }
    return true;
  }
}
您可能感兴趣的文章:Android入门之Gallery+ImageSwitcher用法实例解析Android控件ImageSwitcher实现左右图片切换功能Android常用控件ImageSwitcher使用方法详解Android基于ImageSwitcher实现图片切换功能Android UI控件之ImageSwitcher实现图片切换效果Android高级组件ImageSwitcher图像切换器使用方法详解Android之ImageSwitcher的实例详解基于Android实现保存图片到本地并可以在相册中显示出来android获取相册图片和路径的实现方法Android ViewPager相册横向移动的实现方法Android开发之ImageSwitcher相册功能实例分析


--结束END--

本文标题: 很赞的引导界面效果Android控件ImageSwitcher实现

本文链接: https://lsjlt.com/news/24973.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 很赞的引导界面效果Android控件ImageSwitcher实现
    本文实例为大家分享了Android控件ImageSwitcher实现引导界面的代码,供大家参考,具体内容如下 效果图: 布局代码: <?xml versio...
    99+
    2022-06-06
    界面 Android
  • Android利用ViewPager实现用户引导界面效果的方法
    本文实例讲述了Android利用ViewPager实现用户引导界面效果。分享给大家供大家参考,具体如下: 我相信有很多朋友在装完软件首次打开时,有很多软件都有一个软件功能介绍,...
    99+
    2022-06-06
    用户引导 界面 方法 viewpager Android
  • android 引导界面的实现方法
    代码如下:顺序是: OneAcitivity  -->MainActivity -> TwoActivity 然后第2次进去就是:OneActivity...
    99+
    2022-06-06
    界面 方法 Android
  • android实现欢迎界面效果
    现在许多流行的软件中都有欢迎界面,今天就介绍一下欢迎界面的制作,由于界面涉及到页面的滑动,因此要采用ViewPager,sdk在4.0一下的都要引入“android-support-...
    99+
    2024-04-02
  • Android怎么实现3D界面效果
    要实现3D界面效果,可以通过以下几种方法:1. 使用OpenGL ES:Android支持OpenGL ES库,可以使用OpenGL...
    99+
    2023-08-24
    Android
  • Android实现控件拖动效果
    本文实例为大家分享了Android实现控件拖动效果的具体代码,供大家参考,具体内容如下 1.今天突然想到做个实现个控件拖动效果,就来试试,一查原来还是很简单的 2.原理就是实现OnT...
    99+
    2024-04-02
  • Android实现果冻滑动效果的控件
    前言 在微信是的处理方法是让用户滑动,但最终还是回滚到最初的地方,这样的效果很生动(毕竟成功还是取决于细节)。那么在安卓我们要怎么弄呢。下面为大家介绍一下JellyScroll...
    99+
    2022-06-06
    果冻 动效 Android
  • Android实现绕球心旋转的引导页效果
    现在很多APP都会出现Android实现绕球心旋转的引导页效果,一个类似小车一直在往前开的旋转式动画效果。 先看一下预览效果: 嗯,整体效果还算理想,基本实现了页面绕屏幕底...
    99+
    2022-06-06
    引导页 Android
  • Android使用ViewPager实现启动引导页效果
    本文实例为大家分享了Android实现启动引导页效果的具体代码,供大家参考,具体内容如下 ViewPagerTwoActivity.java package cn.edu.zu...
    99+
    2024-04-02
  • Android控件ViewPager实现带有动画的引导页
    ViewPager实现带有动画的引导页,供大家参考,具体内容如下 好了,又到我们学习基础控件的时候了,其实引导页很简单,就是五张图片而已 一、ViewPager实现传统的引导...
    99+
    2022-06-06
    引导页 viewpager 动画 Android
  • Android圆形控件实现画圆效果
    本文实例为大家分享了Android圆形控件实现画圆效果的具体代码,供大家参考,具体内容如下 实现圆形控件 实现如下 package com.example.demo.util;...
    99+
    2024-04-02
  • Android怎么实现控件拖动效果
    这篇文章主要介绍“Android怎么实现控件拖动效果”,在日常操作中,相信很多人在Android怎么实现控件拖动效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么实现控件拖动效果”的疑惑有所...
    99+
    2023-06-20
  • Android用viewPager2实现UI界面翻页滚动的效果
    目录1.先在build.gradle(Module)下添加引用viewPager2的库2.在MainActivity下新建一个viewPager23.创建个ViewPagerAdap...
    99+
    2024-04-02
  • Android引导页面的简单实现
    第一次进入应用的时候,都会有一个引导页面,引导页面的实现起来也很简单,实现的方式也有很多,下面是自己写的一个引导页面的效果,大致的实现思路为: 最外层是一个Fragment...
    99+
    2022-06-06
    Android
  • android实现自动滚动的Gallary控件效果
    本文实例讲述了android实现自动滚动的Gallary控件。分享给大家供大家参考。具体如下: import java.util.Timer; import java.uti...
    99+
    2022-06-06
    自动 Android
  • Android使用ViewPager实现启动引导页效果的案例
    这篇文章将为大家详细讲解有关Android使用ViewPager实现启动引导页效果的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下ViewPagerTwoActivity.javapack...
    99+
    2023-06-14
  • Android 实现控件悬浮效果实例代码
    随着移动互联网的快速发展,它已经和我们的生活息息相关了,在公交地铁里面都能看到很多人的人低头看着自己的手机屏幕,从此“低头族”一词就产生了,作为一名移动行业的开发人员,我自己也...
    99+
    2022-06-06
    Android
  • Android自定义控件实现时钟效果
    在学习安卓群英传自定义控件章节的时候,有一个例子是绘制时钟,在实现了书上的例子后就想看这个时钟能不能动起来。 这里选择延迟一秒发送消息重绘view来实现的动画,对外提供了开启时...
    99+
    2022-06-06
    Android
  • android-wheel控件实现三级联动效果
    本文实例为大家分享了android wheel省市县三级联动效果,供大家参考,具体内容如下 在github上面有一个叫做 Android-wheel 的开源控件, 代码地址:h...
    99+
    2022-06-06
    wheel 级联 动效 Android
  • Android 新手引导蒙层效果实现代码示例
    先上效果图: 这个效果一开始我是想直接让UI给个切图,后来发现这样不行,适配很差,达不到效果。所以就自己动手写代码,其实思路也很简单:在这个布局的父布局上面再手动添加一个v...
    99+
    2022-06-06
    示例 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作