我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android怎么实现启动引导图

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android怎么实现启动引导图

这篇“Android怎么实现启动引导图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android怎么实现启动引导图”文章吧。

布局文件:activity_guide.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">     <android.support.v4.view.ViewPager        android:id="@+id/guide_vp"        android:layout_width="match_parent"        android:layout_height="match_parent" />     <LinearLayout        android:id="@+id/ll_guide_point"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_marginBottom="40dp"        android:gravity="center_horizontal"        android:orientation="horizontal" />     <ImageButton        android:id="@+id/guide_ib_start"        android:layout_width="wrap_content"        android:layout_height="60dp"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:layout_gravity="center_vertical"        android:layout_marginBottom="120dp"        android:class="lazy" data-src="@mipmap/img_guide_start"        android:visibility="gone" /></RelativeLayout>

关于的ViewPager的适配器GuidePageAdapter.java

public class GuidePageAdapter extends PagerAdapter {    //存放图片的集合    private List<View> viewList;     public GuidePageAdapter(List<View> viewList) {        this.viewList = viewList;    }         @Override    public int getCount() {        if (viewList != null) {            return viewList.size();        }        return 0;    }         @Override    public boolean isViewFromObject(View view, Object object) {        return view == object;    }         @Override    public Object instantiateItem(ViewGroup container, int position) {        container.addView(viewList.get(position));        return viewList.get(position);    }      @Override    public void destroyItem(ViewGroup container, int position, Object object) {        container.removeView(viewList.get(position));    }}

引导页的Activity,GuideActivity.java

 public class GuideActivity extends BaseActivity<LoginContract.Presenter> implements LoginContract.View, ViewPager.OnPageChangeListener {     @BindView(R.id.guide_ib_start)    ImageButton guideIbStart;    @BindView(R.id.guide_vp)    ViewPager guideVp;    @BindView(R.id.ll_guide_point)    LinearLayout llGuidePoint;    private int[] imagePositionArray;//图片资源的数组    private List<View> viewList;//图片资源的集合     //实例化原点View    private ImageView iv_point;    private ImageView[] ivPointArray;     @Override    public int getLayoutId() {        return R.layout.activity_guide;    }     @Override    public LoginContract.Presenter initPresenter() {        return new LoginPresenter(this);    }     @Override    public void initView() {        //加载滑动的ViewPager        initViewPager();        //加载底部圆点        initPoint();    }     @OnClick({R.id.ll_guide_point, R.id.guide_ib_start})    public void onViewClicked(View view) {        switch (view.getId()) {            case R.id.guide_ib_start:                //从启动页跳转到引导页,修改保存的值,再次进入时跳过此页面。                SpUitlsInfo.putString(GuideActivity.this, "VERSION", "1");                startActivity(new Intent(GuideActivity.this, MainActivity.class));                break;            default:                break;        }    }         private void initPoint() {        //这里实例化LinearLayout        llGuidePoint = findViewById(R.id.ll_guide_point);        //根据ViewPager的item数量实例化数组        ivPointArray = new ImageView[viewList.size()];        //循环新建底部圆点ImageView,将生成的ImageView保存到数组中        int size = viewList.size();        for (int i = 0; i < size; i++) {            iv_point = new ImageView(this);            LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,                    LinearLayout.LayoutParams.WRAP_CONTENT);            //设置小圆点的间距            lp.setMargins(20, 0, 20, 0);            iv_point.setLayoutParams(lp);            ivPointArray[i] = iv_point;            //第一个页面需要设置为选中状态,这里采用两张不同的图片            if (i == 0) {                iv_point.setBackgroundResource(R.drawable.guide_dot_select);            } else {                iv_point.setBackgroundResource(R.drawable.guide_dot_unselect);            }            //将数组中的ImageView加入到ViewGroup            llGuidePoint.addView(ivPointArray[i]);        }    }         private void initViewPager() {        //实例化图片资源        imagePositionArray = new int[]{R.mipmap.img_guide_one, R.mipmap.img_guide_two, R.mipmap.img_guide_three,                R.mipmap.img_guide_four};        viewList = new ArrayList<>();        //获取一个Layout参数,设置为全屏        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(                LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);        //循环创建View并加入到集合中        int len = imagePositionArray.length;        for (int i = 0; i < len; i++) {            //new ImageView并设置全屏和图片资源            ImageView imageView = new ImageView(this);            imageView.setLayoutParams(params);            imageView.setBackgroundResource(imagePositionArray[i]);            //将ImageView加入到集合中            viewList.add(imageView);        }         //View集合初始化好后,设置Adapter        guideVp.setAdapter(new GuidePageAdapter(viewList));        //设置滑动监听        guideVp.setOnPageChangeListener(this);    }     @Override    public void onResult(Object result, String message) {     }     @Override    public void onError(Throwable throwable, String message) {     }     @Override    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {     }         @Override    public void onPageSelected(int position) {        //循环设置当前页的标记图        int length = imagePositionArray.length;        for (int i = 0; i < length; i++) {            ivPointArray[position].setBackgroundResource(R.drawable.guide_dot_select);            if (position != i) {                ivPointArray[i].setBackgroundResource(R.drawable.guide_dot_unselect);            }        }        //判断是否是最后一页,若是则显示按钮        if (position == imagePositionArray.length - 1) {            guideIbStart.setVisibility(View.VISIBLE);        } else {            guideIbStart.setVisibility(View.GONE);        }    }     @Override    public void onPageScrollStateChanged(int state) {     }     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        ButterKnife.bind(this);    } }

涉及到两个布局文件

guide_dot_select.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval">     <solid android:color="@color/white"></solid>    <corners android:radius="3dp" />    <size        android:width="8dp"        android:height="8dp" /></shape>

guide_dot_unselect.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval">    <solid android:color="@color/colorPrimaryDark"></solid>    <corners android:radius="3dp" />    <size        android:width="8dp"        android:height="8dp" /></shape>

以上就是关于“Android怎么实现启动引导图”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android怎么实现启动引导图

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

下载Word文档

猜你喜欢

Android怎么实现启动引导图

这篇“Android怎么实现启动引导图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android怎么实现启动引导图”文章吧
2023-07-02

Android启动引导页使用ViewPager实现

我们在安装某个APP的时候,基本都会有一个引导页的提示,他们可以打广告,或者介绍新功能的加入和使用说明等。 一般都支持滑动并且下面有几个点,显示共有多少页和当前图片的位置,在IOS上这个实现起来比较简单,但在安卓上如何实现呢。 今天就和大家
2022-06-06

Android使用ViewPager实现启动引导页效果的案例

这篇文章将为大家详细讲解有关Android使用ViewPager实现启动引导页效果的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下ViewPagerTwoActivity.javapack
2023-06-14

怎么修复win7启动引导

今天小编给大家分享一下怎么修复win7启动引导的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。修复win7启动引导的步骤1、插
2023-07-01

win10怎么设置引导启动

在Win10中,你可以使用以下方法设置引导启动:1. 使用系统配置工具(msconfig):- 按下Win + R键,在运行对话框中输入"msconfig"并按回车键打开系统配置工具。- 在弹出的窗口中,选择“引导”选项卡。- 在“引导”选
2023-09-05

ubuntu启动引导器怎么安装

要安装Ubuntu的启动引导器,您可以按照以下步骤进行:首先,您需要先安装Ubuntu操作系统。您可以从Ubuntu官方网站上下载最新版的Ubuntu系统镜像,并按照官方的安装指南进行安装。安装完成后,您需要使用一个启动引导器来管理您的启动
ubuntu启动引导器怎么安装
2024-03-08

怎么使用easyBCD引导启动ubuntu14.04

这篇文章主要为大家展示了“怎么使用easyBCD引导启动ubuntu14.04”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么使用easyBCD引导启动ubuntu14.04”这篇文章吧。在w
2023-06-13

Android如何实现过渡动画、引导页 Android判断是否第一次启动App

这篇文章主要介绍了Android如何实现过渡动画、引导页 Android判断是否第一次启动App,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。目前的App在安装后,第一次打开
2023-05-30

Android视图动画怎么实现

本文小编为大家详细介绍“Android视图动画怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android视图动画怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。介绍视图动画主要有两种:一、Twe
2023-06-04

Android UI中如何实现应用程序只启动一次引导界面

这篇文章给大家分享的是有关Android UI中如何实现应用程序只启动一次引导界面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、SharedPreferences的详细介绍和用法SharedPreferenc
2023-05-30

Android自定义View实现水波纹引导动画

一、实现效果图关于贝塞尔曲线 二、实现代码 1.自定义viewpackage com.czhappy.showintroduce.view; import android.content.Context; import android.gr
2022-06-06

Android控件ViewPager实现带有动画的引导页

ViewPager实现带有动画的引导页,供大家参考,具体内容如下 好了,又到我们学习基础控件的时候了,其实引导页很简单,就是五张图片而已一、ViewPager实现传统的引导页 传统的ViewPager实现引导页和ListView是一样道理的
2022-06-06

centos怎么删除多余的启动引导项

这篇文章主要为大家展示了“centos怎么删除多余的启动引导项”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“centos怎么删除多余的启动引导项”这篇文章吧。在CentOS更新后,并不会自动删除
2023-06-10

Android中怎么动态切换Splash启动图

Android中怎么动态切换Splash启动图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Glide的缓存下载Glide中的downloadOnly方法可实现图片的下载功
2023-05-31

Android 实现局部图片滑动指引效果

Android 实现局部图片滑动指引效果 而ViewPager的事件监听器代码如下:// 滑动页面更改事件监听器private class ImagePageChangeListener implements OnPageChangeLis
2022-06-06

android自动截图功能怎么实现

要在Android中实现自动截图功能,可以使用以下步骤:1. 在AndroidManifest.xml文件中添加权限声明,以允许访问屏幕截图:```xml```2. 创建一个服务(Service)类,用于执行截图操作。在该类中,可以使用`M
2023-08-24

怎么用react实现引导页

用react实现引导页的方法:1、创建一个启动界面,代码如“import React, { Component } from 'react';import{AppRegistry,StyleSheet,Text,View,AsyncStorage...}”;2、判断每次启动,获取之前是否保存过第一次加载的属性,如果加载过就显示主页,没加载过就显示引导页。
2023-05-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录