android设置图片 透明度渐变效果,android 自定义属性实现 ImageView 透明度渐变效果...
先看效果图:
第一步:
在valuses下面自定义目录:
第二步:
自定义ImageView
package com.jiaruihuademo.myattrimageview;
import java.util.Timer;
import java.util.TimerTask;
import com.jiaruihuademo.myattrimageview.R;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.widget.ImageView;
public class AlphaImageView extends ImageView {
//图像透明度每次改变的大小
private int perAlpha = 0;
//当前图像的透明度
private int curAlpha = 0;
//每隔多长时间改变一次透明度
private int SPEED = 300;
public AlphaImageView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
//找到自定义的属性
TypedArray typedArray = context.obtainStyledAttributes(attrs,
R.styleable.AlphaImageView);
//获取duration参数
int duration = typedArray.getInt(R.styleable.AlphaImageView_duration, 0);
//计算透明度改变的大小
perAlpha = 255*SPEED/duration;
}
Handler handler = new Handler(){
public void handleMessage(Message msg) {
if (msg.what==0x123) {
curAlpha +=perAlpha;
if (curAlpha>255) {
curAlpha=255;
}
AlphaImageView.this.setAlpha(curAlpha);
}
};
};
@Override
protected void onDraw(Canvas canvas) {
this.setAlpha(curAlpha);
super.onDraw(canvas);
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
Message msg = new Message();
msg.what=0x123;
if (curAlpha>255) {
timer.cancel();
}else {
handler.sendMessage(msg);
}
}
}, 0,SPEED);
}
}
第三步:
在layout布局下:
xmlns:jiaruihuademo="http://schemas.android.com/apk/res/com.jiaruihuademo.myattrimageview"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:src="@drawable/t01397599f43ebc8f8c"
jiaruihuademo:duration="60000"/>
android设置图片 透明度渐变效果,android 自定义属性实现 ImageView 透明度渐变效果...相关推荐
- Android点击图片随机,android 设置图片随机出现-两种方式
android 设置图片随机出现-两种方式, 第一种方式:得到图片对应的Drawable实例,通过setImageDrawable(drawable)实现 //ImageView对应的id ivBg ...
- android 设置图片随机出现-两种方式
android 设置图片随机出现-两种方式, 第一种方式:得到图片对应的Drawable实例,通过setImageDrawable(drawable)实现 //ImageView对应的idivBg = ...
- android设置webview缓存目录,Android基础入门教程——7.5.5 WebView缓存问题
Android基础入门教程--7.5.5 WebView缓存问题 Android基础入门教程 本节引言:现在很多门户类信息网站,比如虎嗅,ifanr,钛媒体等等的APP,简单点说是信息阅读类的APP, ...
- android分享图片到qq,Android实现截图分享qq,微信
Android实现截图分享qq,微信 立即下载 金额: 3 元 支付方式: 友情提醒:源码购买后不支持退换货 立即支付 发布时间:2018-05-23 概述 android上封装工具类,一行实现截屏分 ...
- android 矢量图片使用方法,Android中的矢量图
概述 VectorDrawable是通过XML文件中的一系列点,线和曲线及其相关颜色信息定义的. 使用VectorDrawable的主要优点是图像可扩展性. 它可以缩放而不损耗显示质量,这意味着相同的 ...
- android分享图片到qq,Android 如何实现本地图片直接分享到微信、来往、QQ等,直接分享...
在不使用第三方的SDK情况下,如何在Android上直接分享图片到指定的应用上,例如分享到微信.来往.QQ等.具体实现见贴出的代码.实现后才发现好简单的 例如:要在app中直接分享图片到微信.来往等, ...
- android设置背景颜色渐变,Android背景渐变色(shape,gradient)
Android设置背景色可以通过在res/drawable里定义一个xml,如下: android:startColor="#FFF" android:endColor=" ...
- android 自动相机 图片旋转问题,Android部分手机拍照后获取的图片被旋转问题的解决方法...
调用Android系统拍照功能后,三星手机拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的.其它品牌的手机都是正常的,就三星出现这个怪事. 在Android适配上,我原来一直以为国内 ...
- android设置控件形状,Android控件自定义形状
Android中处理控件的各种形状可以用到Shape,ApiDemos中有相关的例子,在com.example.android.apis.graphics中的ShapeDrawable1类中有很详细的 ...
最新文章
- 高效的找出两个List中的不同元素
- 【MM】基于收货的发票校验Bapi Demo
- J.U.C系列(二)CyclicBarrier的使用
- labview如何加载库_迈德威视工业相机LabView 开发指导
- 二叉树的创建和遍历-C语言实现
- 深入理解Python中的元类(metaclass)
- 2003 64位系统 IIS6 32位模式运行
- 图解Android 内存分析工具之Mat使用教程
- leetcode141. 环形链表
- 20172303 2018-2019-1《程序设计与数据结构》第7周学习总结
- Java基础语法一 数据类型运算符
- 用C++实现定积分运算
- 详解AC97和HD声卡前置音频接口的连接跳线
- python爬取ajax_Python爬虫如-何爬取ajax网页之爬取雪球网文章
- 台式计算机虚拟内存怎么设置,电脑虚拟内存怎么设置最好 电脑虚拟内存不足怎么解决...
- Autodesk AutoCAD 2013 简体中文版下载
- LINUX中DNS服务器反向解析
- 100层楼,2个鸡蛋,最少要几次才能测试出鸡蛋能承受的最大楼层?
- php lumen和laravel,Laravel 还是 Lumen?
- mysql 横向查询