android界面特效
Ⅰ android界面切换增加了animation特效,但是没有实现动画效果(已经执行到setAni
界面的切换你用这句试试
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
加在onCreate里
Ⅱ Android自定义View——从零开始实现书籍翻页效果(一)
前言 :本篇是系列博客的第三篇,这次我们要研究 书籍翻页效果 。不知道大家平时有没用过iReader、掌阅这些小说软件,里面的翻页效果感觉十分的酷炫。有心想研究研究如何实现,于是网上找了找,发现这方面的教学资料非常少,所幸能找到 何明桂大大 的 Android 实现书籍翻页效果----原理篇 这样的入门博客(感谢大大 Orz),我们就以这篇博客为切入点从零实现我们自己的翻页效果。由于这次坑比较深,预计会写好几期,感兴趣的小伙伴可以点下关注以便及时收到更新提醒,谢谢大家的支持 ~
本篇只着重于思路和实现步骤,里面用到的一些知识原理不会非常细地拿来讲,如果有不清楚的api或方法可以在网上搜下相应的资料,肯定有大神讲得非常清楚的,我这就不献丑了。本着认真负责的精神我会把相关知识的博文链接也贴出来(其实就是懒不想写那么多哈哈),大家可以自行传送。为了照顾第一次阅读系列博客的小伙伴,本篇会出现一些在之前 系列博客 就讲过的内容,看过的童鞋自行跳过该段即可
国际惯例,先上效果图,本次主要实现了 基本的上下翻页效果 与 右侧最大翻页距离的限制
在看这篇博客之前,希望大家能先了解一下书籍翻页的实现原理,博客链接我已经贴出来了。通过原理讲解我们知道,整个书籍翻页效果界面分成了三个区域, A 为当前页区域, B 为下一页区域, C 为当前页背面,如图所示
书籍翻页效果的实现就是要以我们 触摸屏幕位置的坐标 为基础绘制出这三个区域,形成模拟翻页的特效。要绘制这三个区域,我们需要通过一组 特定的点 来完成,这些点的坐标需要通过两个已知的点( 触摸点 、 相对边缘角 )计算得到,下图我将各个特定点的位置和计算公式贴出来,大家对照着原理一起理解(渣画工望体谅 ╮(╯▽╰)╭ ),其中 b 点是由 ae 和 cj 的交点, k 点是由 ah 和 cj 的交点
简单总结一下, a 是触摸点, f 是触摸点相对的边缘角, eh 我们设置为 af 的垂直平分线,则 g 是 af 的中点, ab 、 ak 、 dj 是 直线 ; 曲线cdb 是起点为 c ,控制点为 e ,终点为 b 的 二阶贝塞尔曲线 ; 曲线kij 是起点为 k ,控制点为 h ,终点为 j 的 二阶贝塞尔曲线 ,区域 A 、 B 、 C 就由这些点和线划分开来。我们将这些点称为标识点,下一步就是模拟设定 a 和 f 点的位置,将这组标识点绘制到屏幕上来验证我们的计算公式是否正确,创建 BookPageView
实体类 MyPoint 用来存放我们的标识点坐标
界面布局:
在Activity中进行注册
效果如图
前文我们提到 ab 、 ak 、 dj 是 直线 ; 曲线cdb 是起点为 c ,控制点为 e ,终点为 b 的 二阶贝塞尔曲线 ; 曲线kij 是起点为 k ,控制点为 h ,终点为 j 的 二阶贝塞尔曲线 。通过观察分析得知, 区域A 是由View 左上角 , 左下角 , 曲线cdb , 直线 ab 、 ak , 曲线kij , 右上角 连接而成的区域,修改 BookPageView ,利用 path 绘制处 区域A
效果如图
区域C 理论上应该是由点 a , b , d , i , k 连接而成的闭合区域,但由于 d 和 i 是曲线上的点,我们没办法直接从 d 出发通过 path 绘制路径连接 b 点( i , k 同理),也就不能只用 path 的情况下直接绘制出 区域C ,我们需要用 PorterDuffXfermode 方面的知识“曲线救国”。我们试着先将点 a , b , d , i , k 连接起来,观察闭合区域与 区域A 之间的联系。修改 BookPageView
效果如图
我们将两条曲线也画出来对比观察
观察分析后可以得出结论, 区域C 是 由直线ab,bd,dj,ik,ak连接而成的区域 减去 与区域A交集部分 后剩余的区域。于是我们设置 区域C 画笔 Xfermode 模式为 DST_ATOP
效果如图
最后是 区域B ,因为 区域B 处于最底层,我们直接将 区域B 画笔 Xfermode 模式设为 DST_ATOP ,在 区域A、C 之后绘制即可,修改 BookPageView
效果如图
翻页可以从右下方翻自然也可以从右上方翻,我们将 f 点设在右上角,由于View上下两部分是呈 镜像 的,所以各标识点的位置也应该是镜像对应的,因为 区域B和C 的绘制与 f 点没有关系,所以我们只需要修改 区域A 的绘制逻辑,新增 getPathAFromTopRight() 方法
效果如图
之前由于测试效果没有对View的大小进行重新测量,在实现触摸翻页之前先把这个结了。重写View的 onMeasure() 方法
我们的需求是,在上半部分翻页时 f 点在右上角,在下半部分翻页时 f 则在右下角,当手指离开屏幕时回到 初始状态 ,根据需求,修改 BookPageView
在Activity中监听View的 onTouch 状态
注意,要设置 android:clickable 为 true ,否则无法监听到 ACTION_MOVE 和 ACTION_UP 状态
效果如图
到这里我们已经实现了基本的翻页效果,但要还原真实的书籍翻页效果,我们还需要设置一些限制条件来完善我们的项目
对于一般的书本来说,最左侧应该是钉起来的,也就是说如果我们从右侧翻页,翻动的距离是 有限制的 ,最下方翻页形成的曲线起点( c 点)的x坐标不能小于0(上方同理),按照这个限定条件,修改我们的 BookPageView
效果如图
至此本篇教程就告一段落了,当然还有许多功能需要继续完善,例如横向翻页、翻页动画、阴影效果等等,这些都会在后面的教程中一一解决。如果大家看了感觉还不错麻烦点个赞,你们的支持是我最大的动力~
Ⅲ 如何修改Android手机特效
工具/原料
一部安卓系统手机
好压或WinRAR软件
特效文件压缩包
主题美化资源图标
步骤/方法
将手机中的framework-res.apk文件复制到电脑上,用好压等解压。
文件结构如下:
assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js,css等文件。
META-INF存放签名文件
Res存放特效文件、各种图标资源、界面框架等。
Resources.arsc是各种语言文件包
打开res文件夹后,我们就可以看到我们要修改的文件了。
1.anim就是特效文件夹,可以将别的手机里的Framework-res.apk的anim文件夹直接复制替换你手机里的anim文件夹,从而达到换特效的目的。
2.drawable-hdpi就是手机大部分图标界面图的位置所在。
3.drawable-land-hdpi里面主要是是横屏下的解锁条图片之类。
4.color里面是界面文字等配色文件。
我们要修改的就是前三个文件夹。
替换特效
由于我不懂懂得如何自己修改里面的文件,目前只是把不同机子的特效提取出来,并全部粘贴,以达到修改特效的目的。
下面是我找到的集中特效,大家可以将文件夹中的全部复制到anim中,出现提示确认框后,点击”全部是”即可。具体步骤如下:
1.
2.
3.
下载地址:
http://u.115.com/file/dnhcdg36#上中特效.rar
http://u.115.com/file/clqnu741#飞来飞去特效.rar
http://u.115.com/file/aq73ianj#上中下特效.rar
http://u.115.com/file/dnhcd0ap#左右特效.rar
对于图标的修改替换
图标存放在drawable-hdpi中,对于PS等工具使用较好的朋友,就可以自己制作图标了,或者我们可以在网上搜索一些漂亮的图标替换掉,记着文件名要和文件夹中的保持一致,不然系统如法识别,而且对图片的大小等也有限制。
替换完成后就是关闭好压就可以了。
替换手机系统中的framework-res.apk
这一步很关键,如果操作不当就可能导致无法进入系统等灾难性问题。
1.将framework-res.apk文件传到手机上。
2.用RE管理器打卡SD,找到framework-res.apk,长按后选择”复制”。
3.进入手机内存,将手机内存挂在为”读写”,如图:点击”载为读写”4.找到system文件夹,并打开。继续第三部操作,将内存加载为”读写”。
5.点击下方的”粘贴”按钮。6.在framework-res上长按后,点击并打开”权限”,设置为下图,并按确定。7.长按此文件,选择”复制”,打开framework文件夹后,点击”粘贴”。
8.重启手机,生效。
Ⅳ 一个android界面特效问题
gallery的3D效果
你搜索gallery 3d就明白了。
Ⅳ 手机app的交互特效怎么弄安卓
1、打开安卓手机相机。
2、选择左下角特效搜索交互,找到交互特效下载即可使用。以上就是手机app的交互特效使用步骤。
Ⅵ 安卓手机怎么修改界面切换特效
安卓手机界面切换特效是左右滑动切换桌面的效果。安卓手机修改界面切换特效的步骤:
1、回到手机主界面,长按主界面无图标处2到3秒;
2、进入“个性化设置”,点击进入‘’屏幕切换动画‘’;
3、选择想要的切换特效即可。
Ⅶ 如何开发android app 动效
1、APP动效的外在美
一段动效首先需要是生动且有趣的,不仅要有好看的外观还要有流畅的体验。要做到这点,需要赋予动效以生命力,具体有如下几种方法:
1.1模拟惯性
现实中物体的运动是有惯性的,比如公交车突然刹车时乘客会突然往前一倒。
1.2模拟重力
与惯性一样,重力也是现实中存在的现象,所有物体在无向上的支持力的情况下都会下坠,比如倾倒垃圾。一般APP删除卡片的动效就是横向滑动直至消失, 但是下面这段动效却加入了重力效应。即卡片在横向滑动的同时也在翻转并下坠,就像现实中往垃圾桶中倾倒垃圾一样。在使得整个动效生动有趣的同时也便于用户理解操作含义。
1.3均匀变速
一个优秀的动效肯定不会是匀速运动的,匀速运动的物体显得生硬和死板,就像机器人一样。要想让一个图像运动的有活力,就需要对其运动的速度进行“设计”。
1.4碎片化运动
使一款应用变得个性十足的一个好方法就是给它加上炫酷的动效,而使一个动效炫酷的常用方法就是碎片化运动。简单说就是把界面中的图像拆解成一个个碎 片,然后让它们进行不同步的运动,利用时间间隔和变速产生炫酷的效果。
2、APP动效的内在美
真正优秀的动效不是只有漂亮外表的花瓶,还得具备优化交互和提升体验的作用。
2.1引导
图形界面本是难懂且抽象的,增强引导是降低软件操作难度和提升用户体验的好方法。
2.1.1动态聚焦
通过动态化的处理引导用户聚焦界面的关键部位,以使体验更加的流畅。青蛙能够快速捕捉移动中的物体,人眼也具有相似特征,运动中的物体总能引起下意识 的关注。
2.1.2示意过渡
过渡动效就是给界面的变化加上流畅的过渡,目的是引导用户理解到底发生了什么,而不会使其不知所措。
2.1.3空间转场
转场动效是被设计师所普遍重视的一种特效,它的作用也是引导用户,让用户更好地理解页面跳转,知道自己身在何方。
2.2简化
有时优秀的设计就是出色的简化。简化界面信息和交互层级可以降低操作难度和提升用户体验。
2.2.1隐藏二级操作项
利用动效可以使界面中的部分信息隐藏,当进行某些操作后隐藏的内容会动态展开,从而达到简化初始界面的目的,使界面简洁大气。
2.2.2 按钮动效化
使按钮动效化能够让界面重要信息动态浮现在同一按钮上,使得用户的目光紧紧盯着按钮,弱化了页面跳转带来的干扰,使体验更加流畅。
2.3增强反馈
软件的反馈对于体验的提高来讲至关重要,增强反馈可以起到更好的提示作用,使体验过程更加轻松和愉悦。抖动是增强反馈的方法之一,用动效反馈替代图形 文字的静态提示,更加自然和引人注目。
Ⅷ android卡片上下切换特效
实现了在android实现左右滑动切换界面的效果
这是实现了在android实现左右滑动切换界面的效果,该效果的源码下载,请到源码天堂下载吧,喜欢的朋友可以研究一下。
布局文件
< xml version="1.0" encoding="utf-8" > <LinearLayout xmlns:android="; android:id="@+id/layContain" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:background="@drawable/bg" > <!-- android:background="#FFC0CB"--> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <LinearLayout android:id="@+id/layFirst" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" android:layout_marginBottom="50dp" > </LinearLayout> <LinearLayout android:id="@+id/laySec" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layThird" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layFourth" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="40dp" > <TextView android:id="@+id/roll_dot1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#ffffff" /> <TextView android:id="@+id/roll_dot2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/roll_dot3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/
Ⅸ android中如何实现翻页特效,3D的那种,不要2D的
更换framework-res.apk 文件 然后改权限 或者直接刷成2.3再或者安装个桌面就行了 例如go桌面
Ⅹ Android 中 怎么设置,启动界面时, 让这个界面从下往上那样的形式出现 类似与 ppt里头的特效。 谢谢了
startActivity(new Intent(demoMain.this, demoDetail.class));
overridePendingTransition(R.anim.slide_bottom_to_top,
R.anim.my_alpha_action);
res/anim/slide_bottom_to_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromYDelta="100%" android:toXDelta="0" android:ration="1000" />
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:ration="50" />
</set>
res/anim/R.anim.my_alpha_action.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"
android:ration="@android:integer/config_mediumAnimTime"
/>
</set>