日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android点击屏幕特效,Android自定义控件(特效一) 点击屏幕,根据所点击的位置绘制圆环...

發布時間:2024/9/18 Android 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android点击屏幕特效,Android自定义控件(特效一) 点击屏幕,根据所点击的位置绘制圆环... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前在三星手機上看到點擊屏幕后出現水波的特效,所以嘗試著寫了個類似的效果

實現自定義一個View,并實現構造方法

public class MyView extends View {

public MyView(Context context) {

super(context);

// TODO Auto-generated constructor stub

}

public MyView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

}

}

如果要繪制圓環,則需要設置圓環的半徑、描邊寬度(如果弄填充滿的則不需要)、X和Y的坐標,因為點擊屏幕出現圓環后還需要消失,所以還要加上透明度

那么我們新建一個Bean,去實現這些

public class MyBean {

int alpha; // 透明度

int X; // X坐標

int Y; // Y坐標

float width; // 描邊寬度

float radius; // 半徑

Paint paint; // 畫筆

}

接下來就是獲取點擊屏幕后的事件,思路很明確,點擊屏幕后,首先設置繪制的圓的半徑為0,透明度為最大值255,描邊寬度這里按個人喜好隨意設置

@Override

public boolean onTouchEvent(MotionEvent event) {

super.onTouchEvent(event);

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

// 點擊屏幕后 半徑設為0,alpha設置為255

MyBean bean = new MyBean();

bean.radius = 0; // 點擊后 半徑先設為0

bean.alpha = MaxAlpha; // alpha設為最大值 255

bean.width = bean.radius / 8; // 描邊寬度 這個隨意

bean.X = (int) event.getX(); // 所繪制的圓的X坐標

bean.Y = (int) event.getY(); // 所繪制的圓的Y坐標

bean.paint = initPaint(bean.alpha, bean.width);

break;

}

return true;

}

設置完屬性后,交給handler去繪制界面,每過X毫秒后,繪制的圓的半徑+N,透明度-M

bean.radius += 5;// 半徑每次+5

bean.alpha -= 10;// 透明度每次減10

if (bean.alpha < 0) {

// 透明度小雨0的時候 賦為0

bean.alpha = 0;

}

bean.width = bean.radius / 8; // 描邊寬度設置為半徑的1/4

bean.paint.setAlpha(bean.alpha);

bean.paint.setStrokeWidth(bean.width);

至此,我們所有的主要代碼已實現



原文:http://blog.csdn.net/qq_18612815/article/details/51329364

總結

以上是生活随笔為你收集整理的android点击屏幕特效,Android自定义控件(特效一) 点击屏幕,根据所点击的位置绘制圆环...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。