Android 水波纹效果

今天翻看博客,发现了水波纹效果。顺便研究了一下

一,Touch Feedback(触摸反馈)

 1,原始自带效果

代码:

    <Buttonandroid:layout_width="wrap_content"android:layout_height="100dp"android:text="5.x自带按键效果" /><Buttonandroid:layout_marginTop="50dp"android:layout_width="100dp"android:layout_height="50dp"android:background="?attr/selectableItemBackground"android:clickable="true"android:gravity="center"android:text="第一种按下效果" /><Buttonandroid:layout_marginTop="50dp"android:layout_width="100dp"android:layout_height="100dp"android:background="?attr/selectableItemBackgroundBorderless"android:text="按下圆形水波纹" />

录制视频到时候发现原生的下面两个录制不出来效果,所以自定义了一下效果颜色

    <!-- Base application theme. --><style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"><!-- Customize your theme here. --><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item><!--可以修改背景颜色和水波纹的颜色:--><item name="colorControlHighlight">@color/colorAccent</item><item name="colorButtonNormal">@color/material_blue_grey_800</item></style>

2 自定义。主要用到了ripple这个属性。这个属性是api21之后才有的,所以要在res下建drawable-v21,在drawable下建press.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/rippleshape" android:state_pressed="true" /><item android:drawable="@color/colorPrimary" />
</selector>

在drawable-v21下建press.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorAccent"><item><shape android:shape="oval"><solid android:color="#FFFFFF"/></shape></item>

其中<ripple android:color="#FF21272B" .... />这个是指定水波纹的颜色 item里不指定内容也可以,在ripple试试指定radius。

Reveal effect(揭示效果)

看效果

代码

public class MainActivity extends AppCompatActivity {private View view;private double radio;private boolean isOn = true;//记录view的状态,第一次进去是可见的,记为true,不可见记为false@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);view = findViewById(R.id.view);findViewById(R.id.bt_action).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {createAnimation(view).start();}});}@TargetApi(Build.VERSION_CODES.LOLLIPOP)public Animator createAnimation(View v) {Animator animator;if (radio == 0L) {radio = Math.sqrt(Math.pow(view.getWidth(), 2) + Math.pow(view.getHeight(), 2));}if (isOn) {animator = ViewAnimationUtils.createCircularReveal(v,// 操作的视图0,// 动画开始的中心点X0,// 动画开始的中心点Y(float) radio,// 动画开始半径0);// 动画结束半径} else {animator = ViewAnimationUtils.createCircularReveal(v,// 操作的视图0,// 动画开始的中心点X0,// 动画开始的中心点Y0,// 动画开始半径(float) radio);// 动画结束半径}animator.addListener(new Animator.AnimatorListener() {@Overridepublic void onAnimationStart(Animator animation) {if (!isOn) {view.setVisibility(View.VISIBLE);}}@Overridepublic void onAnimationEnd(Animator animation) {if (isOn) {view.setVisibility(View.INVISIBLE);}isOn = !isOn;}@Overridepublic void onAnimationCancel(Animator animation) {}@Overridepublic void onAnimationRepeat(Animator animation) {}});animator.setInterpolator(new DecelerateInterpolator());animator.setDuration(500);return animator;}
}

主要API

ViewAnimationUtils.createCircularReveal(
View view,//目标view
int centerX,//开始动画的起点x坐标(相对于目标view而言)
int centerY,//开始动画的起点y坐标(相对于目标view而言)
float startRadius,//初始半径
float endRadius//结束半径
);

总结:第一次写博客,写的很简单,还在摸索中。为了速度,有些样例间接了网上大神

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/45525.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Echarts之球形水波纹

球形水波纹是比较与饼图展现方式 更灵动 更高级的一种 echarts-liquidfill 水球图插件官网: https://www.npmjs.com/package/echarts-liquidfill 1.展示图&#xff1a;【左侧即为水波图&#xff0c;右侧是想要展示的信息列】 2.实现过程 ①、 需要下载echarts及liquidfill 插…

Android实现水波纹外扩效果

微信曾经推出了一个查找附近好友的功能&#xff0c;大致功能是这样的&#xff1a;屏幕上有一个按钮&#xff0c;长按按钮的时候&#xff0c;会有一圈圈水波纹的动画向外扩散&#xff0c;松手后&#xff0c;动画结束。 现在简单来实现这样的一个动画功能&#xff1a; 思路: 主…

Android 实现水波纹效果

效果图 attrs.xml 自定义属性 <declare-styleable name"RippleAnimationView"><attr name"ripple_anim_color" format"color" /><!-- 水波纹填充类型 --><attr name"ripple_anim_type" format"enum&q…

Android案例手册 - 定位点圆形水波纹和椭圆水波纹

往期文章分享 点击跳转>《导航贴》- Unity手册&#xff0c;系统实战学习点击跳转>《导航贴》- Android手册&#xff0c;重温移动开发 本文约18千字&#xff0c;新手阅读需要18分钟&#xff0c;复习需要6分钟 【收藏随时查阅不再迷路】 &#x1f449;关于作者 众所周知&am…

聊聊Android5.0中的水波纹效果

水波纹效果已经不是什么稀罕的东西了&#xff0c;用过5.0新控件的小伙伴都知道这个效果&#xff0c;可是如果使用一个TextView或者Button或者其它普通控件的话&#xff0c;你是否知道如何给它设置水波纹效果呢&#xff1f;OK&#xff0c;我们今天就来看看这个水波纹效果的实现。…

Android开发中的水波纹效果实现

编写不易&#xff0c;如有转载&#xff0c;请声明出处&#xff1a;http://blog.csdn.net/zxc514257857/article/details/73200900 前言 android中的水波纹效果是5.0以后即API Level 21以后出现的&#xff0c;因此minSdkVersion必须设置在21及以上才可以使用此效果 Demo效果展示…

Android点击水波纹扩散效果整理(附带一个自定义的水波纹效果控件)

很久很久没有写博客了&#xff0c;说来也有点惭愧。正好最近整理自己的项目工程目录&#xff0c;看到一些值得分享的控件&#xff0c;准备在之后的几篇博客中准备把它们陆续搬运上来。 这篇博客准备整理一下Android Material Design自带的点击水波纹扩散的效果。话不多说&#…

android 按钮水波纹效果【背景色】

两种方式实现&#xff1a; 第一种&#xff1a;Material自带水波纹 通过如下代码设置波纹的背景&#xff1a; android:background"?android:attr/selectableItemBackground"波纹有边界【一般这种好看点&#xff0c;大多数也都是这种】 android:foreground"?…

Android 水波纹扩散效果

项目地址下载&#xff1a;https://github.com/LiuJunb/RippleImageView 1.效果图&#xff1a; 2.使用方法&#xff1a; 在xml里使用RippleImageView自定义控件&#xff1a; xmlns:app"http://schemas.android.com/apk/res-auto"<com.army.rippleimage.RippleIma…

Android 自定义view实现水波纹效果

http://blog.csdn.net/tianjian4592/article/details/44222565 在实际的开发中&#xff0c;很多时候还会遇到相对比较复杂的需求&#xff0c;比如产品妹纸或UI妹纸在哪看了个让人兴奋的效果&#xff0c;兴致高昂的来找你&#xff0c;看了之后目的很明确&#xff0c;当然就是希望…

Android点击Button水波纹效果

先上图&#xff0c;看看接下来我要向大家介绍的是个什么东西&#xff0c;如下图&#xff1a; 接下来要介绍的就是如何实现上述图中的波纹效果&#xff0c;这种效果如果大家没有体验过的话&#xff0c;可以看看百度手机卫士或者360手机卫士&#xff0c;里面的按钮点击效果都是…

unity 实现水的波纹效果

之前的实现过这个效果&#xff0c;可惜没有记笔记&#xff0c;所以现在有点遗忘&#xff0c;连多个波纹一起在水面上实现的效果都忘记了&#xff0c;所以&#xff0c;查看了下之前实现的代码&#xff0c;现在再记一下笔记。 基础的波纹效果 要实现波纹&#xff0c;首先要知道…

Android水波纹效果

日常的Android开发中可能大家都见过类似这种水波纹展开的效果&#xff0c;比如加载一张图片的时候使用水波纹加载&#xff0c;其实这种实现非常简单。因为Google已经为我们提供了一个非常方便地工具类 ViewAnimationUtils 它的实现非常简单&#xff0c;就这个类&#xff0c;其…

自定义view实现水波纹效果

我正在参加 CSDN 2015博客之星评选 感恩分享活动&#xff0c;如果觉得文章还不错&#xff0c;请投个票鼓励下吧&#xff1a;http://vote.blog.csdn.net/blogstar2015/candidate?usernametianjian4592 在实际的开发中&#xff0c;很多时候还会遇到相对比较复杂的需求&#xf…

Android L中水波纹点击效果的实现

博主参加了2014 CSDN博客之星评选&#xff0c;帮我投一票吧。 点击给我投票 前言 前段时间android L&#xff08;android 5.0&#xff09;出来了&#xff0c;界面上做了一些改动&#xff0c;主要是添加了若干动画和一些新的控件&#xff0c;相信大家对view的点击效果-水波纹很…

科技云报道:垂直大模型竞争,能突破数据“卡点”吗?

科技云报道原创。 AI大模型火遍全球&#xff0c;中国产业也激发了对人工智能应用的新热情。 随着各大厂商参与竞逐&#xff0c;市场正在分化为通用与垂直两大路径&#xff0c;两者在参数级别、应用场景、商业模式等方面差异已逐步显现。 企业涌入垂直大模型赛道 通用AI大模型…

【人工智能】论未来人工智能的大模型生态:重塑技术前景与应用

目录 未来人工智能大模型生态:重塑技术前景与应用 引言 OpenAI 的 AGI 愿景

创造之境:Stable Diffusion + chatGPT下的自动绘图探索

什么是Stable Diffusion Stable Diffusion 是在2022年发布的深度学习文本到图像生成模型。它主要用于根据文字的描述生成详细图像&#xff0c;尽管它也可以应用于其他任务&#xff0c;如内插绘制、外插绘制&#xff0c;以及在提示词&#xff08;英语&#xff09;指导下生成图生…

工具 | ChatPDF:与PDF对话!

工具 | ChatPDF&#xff1a;与PDF对话&#xff01; 本文首发微信公众号&#xff1a;全副武装的大师兄 ChatPDF是什么&#xff1f; 它是一个在不到一周时间里&#xff0c;就让10万份PDF学会了聊天的应用&#xff01;无需注册&#xff0c;登录&#xff0c;通过上传PDF文件到Ch…

微信公众号 接口配置

1、登录微信公众平台-->设置与开发-->基本配置页面&#xff0c;打开服务器配置 2、在网站后台添加两个接口get请求验证和post请求消息转发&#xff0c;url为上图填写的url&#xff0c; RestController RequestMapping("/officialAccount/") public class Offic…