app 欢迎页的实现以及动画效果添加

好看的android动画效果 这段时间看到一些比较好看的android动画效果,下面我就给大家一些我比较喜欢的动画效果,并附上源码希望对你们有用处。 1.很简单却很酷的粒子破碎效果 介绍:  实现思路 1.新建一个 Bean Particle,表示一个粒子对象;新建一个 View ExplosionField作为画布用来显示破碎的粒子;新建一个属性动画(ValueAnimator) Expl 阅读详情

最近公司app进行版本升级,这一版需要将欢迎页设置成动态的效果,ui直接给了gif图,但是gif图片太大,不太适合欢迎页来实现。。。可以用静态图自己根据动态效果来做一些动画操作。实现效果图如下:



一、实现思路

看到这种动态效果,可以使用viewpager 来进行实现,再对viewpager适配器中的子控件进行补间动画的缩放效果。

二、界面的布局效果

<?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:orientation="vertical">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </android.support.v4.view.ViewPager>

    <LinearLayout
        android:id="@+id/ll_dots"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center_horizontal"
        android:layout_marginBottom="31dp"
        android:paddingRight="@dimen/guide_dot_margin"
        android:orientation="horizontal"></LinearLayout>

    <ImageView
        android:id="@+id/iv_skip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_marginTop="40dp"
        android:src="@drawable/skip" />

</RelativeLayout>

三、效果实现

1、先动态的创建viewpager切换需要的view

 /**
     * 设置View布局
     */
    private void setGuideView() {
        views = new ArrayList();
        for (int position = 0; position < imgs.length; position++) {
            View view = View.inflate(this, R.layout.item_guide, null);
            ImageView ivBg = (ImageView) view.findViewById(R.id.iv_bg);
            ImageView ivTxt = (ImageView) view.findViewById(R.id.iv_txt);
            ImageView ivEnter = (ImageView) view.findViewById(R.id.iv_enter);
            ivBg.setImageResource(imgs[position]);
            views.add(view);
        }
    }

2、创建适配器并添加动态创建的view

public class GuideNewAdapter extends PagerAdapter {
    private final Context context;
    private List<View> views;

    public GuideNewAdapter(Context context, List<View> views) {
        this.context = context;
        this.views = views;
    }

    @Override
    public int getCount() {
        return views.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(views.get(position));
        return views.get(position);
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(views.get(position));
    }
}

3、添加动画效果

现在欢迎页也就有了静态的欢迎效果,我们需要在其中添加动画效果,这里我用了补间动画来实现,首先创建补间动画

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fillAfter="true"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="1.3"
    android:toYScale="1.3"></scale>

来进行放大的效果,其次需要将开始播放补间动画,添加这几句代码就可以实现

 ImageView imageview = (ImageView) views.get(position).findViewById(R.id.iv_bg);
        ScaleAnimation scaleAnimation = (ScaleAnimation) AnimationUtils.loadAnimation(this, R.anim.enlarge);
        imageview.startAnimation(scaleAnimation);

viewpager每次滑动实现一次动画效果,需要给viewpager设置监听并且再监听中设置这个动画的播放。。。

4、底部圆点的关联

到了这里欢迎页滑动的动态效果基本已经实现了,还需要在底部设置滑动时的dot关联,这个需要用在界面布局中的ll_dots来进行动态创建小圆点,并且和viewpager滑动关联起来。首先先动态创建和viewpager滑动相关的圆点:

 /**
     * 动态添加点图
     */
    private void setDotsView() {
        for (int i = 0; i < views.size(); i++) {
            ImageView imageView = new ImageView(this);
            imageView.setImageResource(R.drawable.dots_selector);
            llDots.addView(imageView);
        }
    }

目前已经能看见界面底部的圆点,现在需要把圆点和viewpager关联起来,还是在viewpager 的监听的onPageSelected(int pos)来进行关联设置:

 /**
     * 设置点图的状态切换
     *
     * @param position
     */
    private void scrollDotView(int position) {
        int childCount = llDots.getChildCount();
        for (int i = 0; i < childCount; i++) {
            ImageView imageview = (ImageView) llDots.getChildAt(i);
            if (i == position) {
                imageview.setEnabled(true);
            } else {
                imageview.setEnabled(false);
            }
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            layoutParams.leftMargin = UIUtils.getDimensResource(this, R.dimen.guide_dot_margin);
            imageview.setLayoutParams(layoutParams);
        }
    }

目前来说欢迎页的效果基本实现了,不过圆点的关联得记得在界面默认设置position=0 的时候的点图状态切换scrollDotView(0)。

完整代码地址:

【guide_app】https://github.com/cherry410/guide_app-master


四、bug添加

    最近再做项目测试的时候发现一个问题,切换的底部导航小圆点在6.0以上的机型没有问题,但是在5.0的机型就会发现出现变形问题,最后发现添加

<activity
    android:name=".ui.activity.GuideActivity"
    android:hardwareAccelerated="false"></activity>
这个属性就解决这个问题,但是原因是什么,我还是不太清楚,有哪位大神知道可以分享下。。。


React Native 实现 App Store Today页效果 React Native 动效系列 欢迎大家Star我们的仓库react-native-showcase,记录了各种React Native的交互、动画效果。 卡片动感光效 九宫格抽奖 自定义下拉刷新动画 本文介绍如何实现利用共享UI元素的动画,实现类似苹果App Store的Today页面的动画效果,我们先看最终的效果: 第一步:完成静态UI布局 UI布局很简单,就是一个普通的Scroll... 阅读详情

相关推荐

[Android入门]从零构建Android app之天气——6.app图标和欢迎页

经过前面5篇的构建,我们已经基本打好了地基,现在可以开始往上叠加楼层(功能)了!本篇我们一起来为这个app更换一个图标,然后制作一个有意思的欢迎页面。更换图标使用Android Studio创建的应用默认会为我们在mipmap包下生成一个icon,它里面包含了一组不同大小的图标,目的是为了适配不同尺寸的Android设备,我们在更换时,也应该仿照它生成对应大小的图标。 不同像素密度下app图标的建议

chice的博客 1704

Android应用欢迎界面动态效果设置(补间动画)

今天想给小项目里添加一个动态的欢迎界面,看了好多网上的教程,都写得很模糊,或者说得很高大上,让一些初学者难以一下子理解,所以就把我自己的代码和注释给大家看。其实,这个动画效果叫:补间动画。一:在res文件夹下新建一个anim文件夹,然后再anim下创建xml代码,如果想要动画效果更绚丽可以把一下都建立了,当然,具体参数看自己的要求写就可以了:    android:interpolator="@a

李静南的博客 2130

APP设计之启动页和广告页

注:以下内容是我自己看了一些文章以及结合个人理解写的东西,可能有一些来自新人的偏见,欢迎交流。   一、什么是启动页 苹果官方对于iOS启动页的设计说明:为了增强应用程序启动时的用户体验,您应该提供一个启动图像。启动图像与应用程序的首屏幕看起来非常相似。当用户在主屏幕上点击您的应用程序图标时,iPhone OS会立即显示这个启动图像。一旦准备就绪,您的应用程序就会显示它的首屏幕,来替换掉这个...

ACoderLover的博客 4657

如何用AE做出App store中的卡片动态效果

阅读此文大约需要7分钟 本文首发于微信公众号,原文链接 动画效果会讲故事,动效不仅仅是为了愉悦用户,更是为了帮助理解当前操作进展,帮助提高app的使用效率。当动效制作非常成熟时,看起来应当是非常自然的。 App中随处可见各种各样绚丽的动态效果,从页面跳转到加载进度指示,从状态反馈到下拉刷新。但动效的使用应当自然流畅,过多花哨或者不适当的动效反而会给用户体验带来负面影响。 一、App store...

weixin_34248849的博客 795

微信小程序音视频通话(for硬件)授权与设备注册实战指南

本文详细介绍了微信小程序音视频通话(for硬件)组件的开发实践,涵盖授权流程、设备注册与VoIP插件集成。重点解析了如何通过服务端获取snTicket实现用户授权,确保硬件设备与微信端的音视频通话安全可靠,适用于智能门禁、话机等物联网场景。

u6v7w8x的博客 945

Floyd算法在社交网络中的应用:如何找到六度人脉的最短路径?

本文探讨了Floyd算法在社交网络分析中的核心应用,特别是如何利用该算法高效计算任意两人之间的最短路径,从而量化“六度人脉”理论。文章通过构建微型社交网络模型,详细拆解了Floyd算法的动态规划原理与代码实现,并展示了如何从计算出的最短路径距离矩阵中挖掘节点中心性、识别社群等关键洞察,为社交推荐、影响力分析等场景提供技术支撑。

blockchain9miner的博客 1003

移动端网页特效

移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,但是移动端也有自己独特的地方。比如触屏事件touch(也称触摸事件),Android 和 IOS 都有。touch对象代表一个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。触屏事件可响应用户手指(或触控笔)对屏幕或者触控板操作。// 1. 获取元素 // 2. 手指触摸DOM元素事件 var div = document . querySelector('div');

sjp991012的博客 833

如何实现电路级别的CDM ESD防护

采用先进制程的CMOS工艺,可能具有比以前更薄的栅极氧化物和更大的芯片尺寸,大的衬底可能积累大量的电荷,导致CDM事件期间的高ESD放电峰值电流。传统CDM保护器件使用栅极接地NMOS被添加到输入级的栅极。然而,这种方法通常会在信号路径上引入显著的寄生电容,这不适合RF应用。

weixin_42693135的博客 2504

移动端点击进详情动画效果

对应的代码如下 out-in 是当前元素先进行过渡,完成之后新元素过渡进入。appear 第一次渲染的时候才会起作用。

caikaifengdsg的博客 180

ClickHouse的bitmap使用

ClickHouse的bitmap使用 bitmap的基本使用 在CK中bitmap有两种构建方式,在ClickHouse的官网有说明: (1)一个是由聚合函数groupBitmapState构造的, (2)另一个是由Array Object构造的。同时还可以将位图对象转化为数组对象。 bitmap实战 数据和基本数据表准备 创建一张基本表,一个用户表,有多个描述的维度,每个维度由该维度的唯一id。 CREATE TABLE test02(id UInt16, tag1 UInt8, tag2 UInt8,

zg_hover的专栏 5654

LED灯闪烁实验:代码集成

LED灯闪烁实验已经全部完成,在该实验中使用了较多的工具链,涉及底层软件、建模、软件编译等。首先,通过STM32CubeMX工具进行STM32底层软件配置,可以大大减少手写代码的工作量。另外由于做了可视化,也降低了STM32的上手难度,提升效率。利用Simulink建模,可以在PC环境下验证应用层算法的正确性而不依赖于具体控制器,实现应用层算法和底层软件、控制器硬件的解耦。另外,图形化的建模方式也更加有利于开发者思考与分析,大量的封装库文件也可以降低开发的工作量。

u013288925的博客 369

[IOS]欢迎界面Launch Screen动态加载广告(闪屏图)

当我们打开一款应用程序的时候,首先映入眼帘的往往并不是程序的主界面,而是经过精心设计的欢迎界面,这个界面通常会停留几秒钟,然后消失。看似很平常的一个小小的欢迎界面,其实还大有讲究。 一、 为什么会出现欢迎界面? 程序在启动的过程中需要消耗一些时间,那么在加载出现主界面之前,会出现短暂的黑屏,这实在是很糟糕的一件事情,会给用户一个非常不好的体验。为了缓解用户等待过程中心理的不适与烦躁,欢迎界面闪亮登

雨影的博客 4032

大学生作业:80C51存储器数据传输实验:基本指令和数据传送

大学生作业:80C51存储器数据传输实验,报价 200 文章目录实验一、80C51存储器数据传输实验实验目的:实验内容一:基本指令实验内容二:数据传送 实验一、80C51存储器数据传输实验 实验目的: 熟悉软件的集成开发环境 掌握单片机软件设计流程,掌握存储器结构及各窗口之间的联系 掌握内部数据存储器、外部数据存储器的数据传送特点和应用; 实验内容一:基本指令 用三种方法实现将累加器A内容改为20H ORG 0000H LJMP MAIN ORG 0030H MAIN: ;方法一使用寄

weixin_54707168的博客 5115

Android之欢迎页动画(视差、3D翻转、放大缩小)

本篇介绍app欢迎页的一些动画效果 (1)视差效果 是否看到每个view位置移动了、且移动速度不一致 (2)3D翻转 (2)放大缩小 一、 自定义动画 说到欢迎页一定会想到ViewPager,动画设置自然想到ViewPager.setPageTransf...

choutoutun9356的博客 299

地平线旭日X3 安装xfce桌面+VNC查看USB摄像头

VNC是Virtual Network Computing的缩写,它是一种使用RFB(Remote Frame Buffer)协议的用于控制远程电脑的图形桌面分享系统。xfce桌面相比于GNOME桌面更加轻量,占用的资源更少,在没有GPU的设备上也可以运行(旭日的Desktop版本从外观上好像就是xfce桌面,具体没有尝试)。可以使用专用的VNC客户端连接到开发板,例如vnc viewer。板子默认带有openssh-server,因此,WiFi热点连接成功后,就可以使用ssh登录开发板了。

bingdund的博客 509

儿童启蒙教育APP

pinyinList.add(createPinyin("a", "啊,像阿姨的阿", R.raw.pinyin_a));pinyinList.add(createPinyin("i", "衣,像衣服的衣", R.raw.pinyin_i));pinyinList.add(createPinyin("u", "乌,像乌鸦的乌", R.raw.pinyin_u));pinyinList.add(createPinyin("ü", "鱼,像小鱼的鱼", R.raw.pinyin_v));-- 固定竖屏 -->

寒寒豆豆软件公司的博客 168

安卓app欢迎页开发,动画加入

欢迎页开发 动画效果 RotateAnimation ScaleAnimation AlphaAnimation AnimationSet // 初始化欢迎页面的动画 private void initViews() { RelativeLayout rlRoot = (RelativeLayout) findViewById(R.id.rl_root); RotateAn...

wdx_1136346879的博客 492

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Activity实现欢迎界面并添加动画切换效果

先看效果: 中间切换动画没来得及截图,凑合着看吧。 主要是java代码的实现: Welcom.java package kehr.activity.welcome; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Hand

砍树的 2840

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android应用的欢迎界面动画实现

一、动画基础知识       1、动画种类: Android动画有四大类,分别是AlphaAnimation、ScaleAnimation、TranslateAnimation和RotateAnimation,功能对照如下: AlphaAnimation 渐变透明动画效果 ScaleAnimation 渐变缩放动画效果 TranslateAnim

Xsinwa的博客 3661

Android实现APP欢迎页面(附带源码)

Android实现APP欢迎页面(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 2228

安卓开发必备:欢迎页实现全攻略

摘要:本文详细介绍了安卓欢迎页(WelcomeActivity)的实现方法,包含基础配置、布局设计、核心逻辑、系统栏适配和动画效果等关键要素。重点讲解了如何设置启动页、实现延迟跳转与初始化操作、处理首次启动逻辑以及完成系统栏适配。同时提供了动画效果实现方案,包括Logo入场动画和页面切换动画,并总结了内存管理、冷启动优化等注意事项。通过全面实现这些功能,可以打造一个流畅、美观且功能完善的欢迎页。

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 784

智慧北京:欢迎页面——进入动画效果的实现

实现效果: ——————————————————————————————————————WelcomeUI.java—————————————————————————————————————————————————————————————— package huaxa.it.zhihuidemo; import android.R.anim; import android.R.a

huaxa程序猿 667

给手机应用添加欢迎页面

    现在的手机应用基本上都有一个欢迎页面,一个好的欢迎页面往往能赢得客户的青睐,那么如何添加这个欢迎页面呢?     手机的欢迎页面一般有两种形式:一种是:ViewPager类型的滑屏效果,通过展示几张精心设计好的图片来展示手机的功能,另一种是单张图片的动画演示,如微信的欢迎页面。    这两种欢迎页面都是可以轻松实现的,下面我用代码实现微信效果的那种单张图片的动画效果。   ...

soyo的专栏 302

android学习——实现欢迎界面图片动画滑动切换

刚学习的时候想做两个activity之间滑动切换的效果,就查了几个博客写了之前的一篇“activity实现动画切换”,现在看来这个功能好水,难看且基本不会有用到的。 但第一次启动APP欢迎界面滑动进入的效果很常见,所以就查资料写了这么一个。 当然这是跟程序第一次启动结合着用的,具体判断是否第一次启动,请看上一篇android学习——判断APP(程序)是否第一次启动

linlif的博客 3610

Android欢迎页面动画

最近做App开发,项目准备上线,测试说项目的欢迎页面做得不够炫,所以就在网上找了找,发现了两个不错的动画开源项目,同大家分享: 小红书欢迎引导界面第一版:https://github.com/w446108264/XhsParallaxWelcome 小红书欢迎引导第二版:https://github.com/w446108264/XhsWelcomeAnim 第二版第每一版本酷多了

true100的专栏 3942
上一篇: 二进制、十进制、八进制、十六进制的互相转换
下一篇: 粘性头部效果的实现
cherry459
博客等级 码龄9年 4粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值