iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >很赞的引导界面效果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://www.lsjlt.com/news/24973.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 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使用ViewPager实现启动引导页效果
    本文实例为大家分享了Android实现启动引导页效果的具体代码,供大家参考,具体内容如下 ViewPagerTwoActivity.java package cn.edu.zu...
    99+
    2024-04-02
  • 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使用ViewPager实现启动引导页效果的案例
    这篇文章将为大家详细讲解有关Android使用ViewPager实现启动引导页效果的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下ViewPagerTwoActivity.javapack...
    99+
    2023-06-14
  • Android UI如何实现人人网V5.9.2最新版引导界面
    小编给大家分享一下Android UI如何实现人人网V5.9.2最新版引导界面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、实现的效果图欢迎界面:引导界面1引...
    99+
    2023-05-30
    android ui
  • 如何在Android界面中实现一个回弹效果
    这篇文章给大家介绍如何在Android界面中实现一个回弹效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体代码如下所示:public class MyScrollView extends ScrollView { ...
    99+
    2023-05-31
    android roi %d
  • android控件Banner实现简单轮播图效果
    本文实例为大家分享了android控件Banner实现简单轮播图效果的具体代码,供大家参考,具体内容如下 实现这个轮播图是在Fragment里实现的,所以要想实现,首先要创建Frag...
    99+
    2024-04-02
  • Android自定义控件实现雷达图效果
    本文实例为大家分享了Android自定义控件实现雷达图的具体代码,供大家参考,具体内容如下 学习了大神的源代码(奈何不知大神的博客地址),觉得必须记录一下,方便以后再次学习。 效果如...
    99+
    2024-04-02
  • Android UI设计与开发之ViewPager仿微信引导界面以及动画效果
    基于前两篇比较简单的实例做铺垫之后,这一篇我们来实现一个稍微复杂一点的引导界面的效果,当然也只是稍微复杂了一点,对于会的人来说当然还是so easy!正所谓会者不难,难者不会,大概说的就是这个意思了吧。好的,话不多说,回归正题。这篇要实现的...
    99+
    2023-05-30
    viewpager 引导界面
  • 利用Android实现一种点赞动画效果的全过程
    目录前言点击后的缩放效果拇指的散开效果示例总结前言 最近有个需求,需要仿照公司的H5实现一个游戏助手,其中一个点赞的按钮有动画效果,如下图: 分析一下这个动画,点击按钮后,拇指首先...
    99+
    2022-12-08
    android 点赞动画 android点赞效果 android点击动画
  • ViewPager实现带引导小圆点与自动跳转的引导界面
    实现引导小圆点的方法其实很简单,可直接在布局上放置与引导页面等量的ImageView,然后在切换页面的时候更改图片资源就好了。这里顺便提一下,有些APP是干脆在制作引导页面图片的时候加上引导小圆点,这种方式显然最简单不过了,但是既然是附在图...
    99+
    2023-05-30
    viewpager 引导圆点 自动跳转
  • 在Android中icon+控件实现文字的多种效果
    这篇文章给大家介绍在Android中icon+控件实现文字的多种效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。第一步 自定义属性  在res/values/目录下新建attrs.xml文件, 添...
    99+
    2023-05-31
    android icon+ roi
  • 基于Android自定义控件实现雷达效果
    如何制作出类似雷达扫描的效果,具体方法如下一、效果图二、实现思路 自定义控件RadarView用来画雷达的效果图,可以自定义属性包括 backgroundColor:背景颜色 circleNum:圆的数量 startColor:开始颜色 e...
    99+
    2023-05-30
    android 雷达 roi
  • Android如何使用viewPager2实现UI界面翻页滚动的效果
    小编给大家分享一下Android如何使用viewPager2实现UI界面翻页滚动的效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.先在build.gradl...
    99+
    2023-06-15
  • Android如何使用viewPager2实现UI界面翻页滚动效果
    小编给大家分享一下Android如何使用viewPager2实现UI界面翻页滚动效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.先在build.gradle...
    99+
    2023-06-15
  • Android开发手册TextView控件及阴影效果实现
    目录实践过程初识文字阴影TextView是Android中最简单也是最常见的控件。今天小空就带大家会会她。 实践过程 初识 经过前两篇常用属性和不常用属性的讲解,是不是有些懵了,不要...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作