Android ViewPager简单实现 - 倒计时、引导页左右滑动
说明:
ViewPager简单实现,方便以后用。做的是一个全屏的引导页。
截图:
代码:
GuideActivity.java
package com.xinyan.personal.ui.activity;import android.content.Intent; import android.gesture.GestureUtils; import android.os.Bundle; import android.os.CountDownTimer; import android.support.annotation.Nullable; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.ImageView; import android.widget.TextView;import com.xinyan.personal.MainActivity; import com.xinyan.personal.R; import com.xinyan.personal.adapter.GuideAdapter; import com.xinyan.personal.util.SPUtils; import com.xinyan.personal.util.UiUtil;import java.util.ArrayList; import java.util.List;/*** 引导页* Created by zst on 2017/8/2.*/public class GuideActivity extends BaseActivity implements ViewPager.OnPageChangeListener, View.OnClickListener{private ViewPager vp_guide;private TextView tv_skip;private TextView tv_begin;private ImageView iv_dot_0;private ImageView iv_dot_1;private ImageView iv_dot_2;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_guide);vp_guide = (ViewPager) findViewById(R.id.vp_guide);tv_skip = (TextView) findViewById(R.id.tv_skip);tv_begin = (TextView) findViewById(R.id.tv_begin);iv_dot_0 = (ImageView) findViewById(R.id.iv_dot_0);iv_dot_1 = (ImageView) findViewById(R.id.iv_dot_1);iv_dot_2 = (ImageView) findViewById(R.id.iv_dot_2);tv_skip.setOnClickListener(this);tv_begin.setOnClickListener(this);initBanner();countDownTimer();}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.tv_begin:SPUtils.setParam(GuideActivity.this, SPUtils.GUIDE_STATUS, true);startActivity(new Intent(GuideActivity.this, MainActivity.class));finish();break;case R.id.tv_skip:SPUtils.setParam(GuideActivity.this, SPUtils.GUIDE_STATUS, true);startActivity(new Intent(GuideActivity.this, MainActivity.class));finish();break;}}//初始化三张引导页private void initBanner() {List<Integer> images = new ArrayList<>();images.add(R.drawable.pic_guide_0);images.add(R.drawable.pic_guide_1);images.add(R.drawable.pic_guide_2);GuideAdapter guideAdapter = new GuideAdapter(GuideActivity.this, images);vp_guide.setAdapter(guideAdapter);vp_guide.addOnPageChangeListener(this);}@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}@Overridepublic void onPageSelected(int position) {setDefalutDot();if(position == 0) {iv_dot_0.setImageResource(R.drawable.ic_ad_dot_check);}if(position == 1) {iv_dot_1.setImageResource(R.drawable.ic_ad_dot_check);}if(position == 2) {iv_dot_2.setImageResource(R.drawable.ic_ad_dot_check);tv_begin.setVisibility(View.VISIBLE);}}@Overridepublic void onPageScrollStateChanged(int state) {}//设置默认的dotprivate void setDefalutDot() {tv_begin.setVisibility(View.GONE);iv_dot_0.setImageResource(R.drawable.ic_ad_dot_default);iv_dot_1.setImageResource(R.drawable.ic_ad_dot_default);iv_dot_2.setImageResource(R.drawable.ic_ad_dot_default);}/*** 5秒倒计时;*/public void countDownTimer() {CountDownTimer timer = new CountDownTimer(5000, 1000) {@Overridepublic void onTick(long millisUntilFinished) {tv_skip.setText("跳过" + millisUntilFinished / 1000);tv_skip.setEnabled(false);}@Overridepublic void onFinish() {tv_skip.setText("跳过");tv_skip.setEnabled(true);}};timer.start();} }
activity_guide.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent" android:layout_height="match_parent"android:background="@color/bg_efeff4"android:orientation="vertical"><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><android.support.v4.view.ViewPagerandroid:id="@+id/vp_guide"android:layout_width="match_parent"android:layout_height="match_parent"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="20dp"android:orientation="vertical"><TextViewandroid:id="@+id/tv_begin"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:background="@drawable/shape_btn_guide_use"android:text="申请试用"android:textColor="@color/white"android:visibility="gone"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginTop="30dp"><ImageViewandroid:id="@+id/iv_dot_0"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_ad_dot_check"/><ImageViewandroid:id="@+id/iv_dot_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:src="@drawable/ic_ad_dot_default"/><ImageViewandroid:id="@+id/iv_dot_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:src="@drawable/ic_ad_dot_default"/></LinearLayout></LinearLayout><TextViewandroid:id="@+id/tv_skip"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:background="@drawable/shape_btn_guide_second"android:layout_margin="20dp"android:paddingTop="5dp"android:paddingBottom="5dp"android:paddingLeft="10dp"android:paddingRight="10dp"android:clickable="false"android:textSize="11sp"android:text="跳过 5"android:textColor="@color/white"/></RelativeLayout> </LinearLayout>
GuideAdapter.java
package com.xinyan.personal.adapter;import android.content.Context; import android.content.Intent; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView;import com.bumptech.glide.Glide; import com.xinyan.personal.R; import com.xinyan.personal.httpManager.response.NoticeListResponse; import com.xinyan.personal.ui.activity.MsgDetailActivity;import java.util.List; import java.util.Map;/*** 引导页配器* Created by zst on 2017/8/2.*/public class GuideAdapter extends PagerAdapter {Context context;List<Integer> viewLists;public GuideAdapter(Context context, List<Integer> lists) {this.viewLists = lists;this.context = context;}@Overridepublic int getCount() { //获得sizereturn viewLists.size();}@Overridepublic boolean isViewFromObject(View view, Object object) {return view == object;}@Overridepublic void destroyItem(ViewGroup view, int position, Object object) { //销毁Item}@Overridepublic Object instantiateItem(ViewGroup view, int position){ //实例化ItemImageView imageView = new ImageView(context);ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewPager.LayoutParams.MATCH_PARENT,ViewPager.LayoutParams.MATCH_PARENT);imageView.setLayoutParams(params);imageView.setScaleType(ImageView.ScaleType.CENTER);Glide.with(context).load(viewLists.get(position)).into(imageView);view.addView(imageView);return imageView;} }
Android ViewPager简单实现 - 倒计时、引导页左右滑动相关推荐
- Android 只显示一次引导页
Android 只显示一次引导页 以前一直被网络上的代码坑,这次做个记录,也算是帮一帮正在被坑的人 这个方法不需要创建新的Activity或者Fragment 其实这个功能的逻辑是:当你第一次点击ap ...
- android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、风扇叶片效果等源码...
2019独角兽企业重金招聘Python工程师标准>>> Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android ...
- android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码
Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...
- android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码...
Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...
- 功能引导 android,Flutter实现App功能引导页
App功能介绍页,主要是由介绍app功能的几张图片和当前页指示符组成,如下效果 我们来一步一步实现上面的界面,左右滑动切换显示功能页,这个可以通过PageView来实现,底部的指示符半透明覆盖在Pag ...
- 无陌然个人倒计时引导页源码
介绍: 可做个人主页,首先会弹出来介绍 然后倒计时后才会进入个人主页的界面 很不错,非常酷,上传解压到根目录即可. 开头的几个字母在Seffects.js修改,其他内容均在index.html文件里自 ...
- 唯美官网倒计时引导页源码
介绍: 非常唯美的一款官网上线倒计时HTML源码. 有喜欢的去自行修改丢到空间即可 网盘下载地址: https://zijiewangpan.com/1CxuMhzsfBe 图片: [外链图片转存失败 ...
- html状态查询爱站,简单 自适应 个人 引导页 修复 HTML源码
已有79位网友发表了看法: a'ゞ顾白 评论于 [2019-03-05 01:03:31] 第一第一第一 爱站云 评论于 [2019-03-30 19:39:48] 又偷源码 亻寸 ? 评论于 ...
- Android ViewPager和Fragment实现顶部导航界面滑动效果
在项目中,我们常常需要实现界面滑动切换的效果.例如,微信界面的左右滑动切换效果.那这种效果是怎么实现的?今天我就带大家简单了解ViewPager,并通过实例来实现该效果. 一. ViewPager 官 ...
最新文章
- 普元eos开发手册_名词解释--统一应用(开发)平台Unified Application Platform
- 浅谈Http模块,Express和Koa实现http服务
- FFmpeg迎来20周年生日!凭一己之力养活全球无数播放器!
- Fast implementation/approximation of pow() function in C/C++
- 定义入栈java_小师妹学JVM之:java的字节码byte code简介
- Java架构师必备框架技能核心笔记,工作感悟
- STM32工作笔记0080---UCOSIII系统内部任务
- Ubuntu18.04关闭ibus-daemon自启动
- asp 基础操作之增删改查
- caffee学习——图像切割
- 铣削力matlab,船用螺旋桨多轴铣削力仿真与优化+CAD图纸+MATLAB程序
- QT QListView
- 简述er图的作用_er图的作用是什么
- vue手机端回退_从外链回退到vue应用不触发生命周期、beforeRouterEnter等钩子函数的问题...
- 批量转换用户的共存模式--Skype for Business to Teams
- uclinux开发概述
- 什么是Google Voice
- 【进制转换】负进制转换 多进制转换
- (图)HOLD住!aiwi最新体感游戏强势来袭!!
- 运营方案要包括哪些内容_一份完整的运营方案应该包括哪些方面?