文档章节

android 在bitmap或者view上 添加渐变阴影

SuShine
 SuShine
发布于 2015/06/25 15:28
字数 132
阅读 269
收藏 0
public class MainActivity extends Activity {


    private GradientDrawable mBackShadowDrawableLR;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ImageView imageView = new ImageView(this);
        Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher).copy(Bitmap.Config.ARGB_8888, true);
        addShadow(bm);
        imageView.setImageBitmap(bm);
        setContentView(imageView);
    }
    public Bitmap addShadow(Bitmap bm) {
        int[] mBackShadowColors = new int[] { 0x00000000 , 0xB0AAAAAA};
        mBackShadowDrawableLR = new GradientDrawable(
                GradientDrawable.Orientation.LEFT_RIGHT, mBackShadowColors);
        mBackShadowDrawableLR.setGradientType(GradientDrawable.LINEAR_GRADIENT);
        mBackShadowDrawableLR.setBounds(0, 0, 20 , bm.getHeight());
        Canvas canvas = new Canvas(bm);
        mBackShadowDrawableLR.draw(canvas);
        return bm;
    }
}


//起始颜色和结束颜色
	        int[] mBackShadowColors = new int[] { mFromColor , mToColor};
	        //线性渐变
	        mBackShadowDrawableLR = new GradientDrawable(
	                GradientDrawable.Orientation.LEFT_RIGHT, mBackShadowColors);
	        mShadowWidth = mTheme.getDimen(R.dimen.novel_reader_page_shadowwidth);
	        //这是需要绘制阴影的位置
	        mBackShadowDrawableLR.setBounds(fromx, 0, (int) (fromx + mShadowWidth) , height);
	        //绘制到canvas
	        mBackShadowDrawableLR.draw(canvas);


本文转载自:http://blog.csdn.net/sfshine/article/details/13776173

共有 人打赏支持
SuShine
粉丝 123
博文 541
码字总数 153477
作品 0
朝阳
后端工程师
私信 提问
自定义shape加上shadow的方法

转自 http://www.linuxeden.com/html/develop/20111015/114984_2.html Android自定义Shape 加上阴影shadow之方法(2) Android:gravity="center" /> Notice that this example uses a nested ......

天高空
2011/12/22
1K
1
Android有用代码片段(四)

不知不觉中,就收集了超过60条的自己感觉有意思的代码片段,分为三篇文章:android有用代码片段、Android有用代码片段(二)、Android有用代码片段(三)这三篇,今天,开始第四篇的整理! ...

curitis
2012/05/18
0
0
Snackbar、CardView、FloatingActionButton、SwitchCompat使用介绍

Android5.0也出来了老长一段时间了,5.0推出的MartailDesign系列确实相当高大上,颜色鲜艳像各种套壳的iphone c,老有设计范儿了。接下来,就学着写它们的用法,并写一些效果。 github代码传...

奔跑吧李博
10/19
0
0
Android Gallery控件使用方法详解

我们今天给大家讲的就是Gallery控件,这个控件在android当中是非常重要的,我们今天就给大家介绍一下3D的Gallery控件是怎么样来实现的。下面我们就来直接看看代码吧。 1.扩展Gallery: publ...

长平狐
2012/08/21
533
1
Android Gallery控件使用方法详解

我们今天给大家讲的就是Gallery控件,这个控件在android当中是非常重要的,我们今天就给大家介绍一下3D的Gallery控件是怎么样来实现的。下面我们就来直接看看代码吧。 1.扩展Gallery: publ...

长平狐
2012/08/14
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

KaliLinux常用服务配置教程DHCP服务工作流程

KaliLinux常用服务配置教程DHCP服务工作流程 DHCP服务工作流程如图1.1所示。 具体的工作流程如下所示: (1)DHCP客户端以广播的方式发出DHCP Discover报文。 (2)所有的DHCP服务器(DHCP ...

大学霸
10分钟前
0
0
Spring Junit单元测试配置

<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.1.2.RELEASE</version></dependency><dependency> <group......

TonyTaotao
15分钟前
0
0
线程安全与非线程安全-个人理解

类的某个方法是线程安全的, 说明这个方法在并发执行中,从开始执行到执行完毕,都是同步的, 比如:之前做的并发数据导出,并发的查询数据库, 但是在写入excel的时候,需要做一个同步,因为...

Java搬砖工程师
17分钟前
1
0
如何提升JavaScript的任务效率?学会后教给你同事

本文由云+社区发表 一、概述 JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。随着电脑计算能力的增...

腾讯云加社区
17分钟前
0
0
Hadoop运行在Kubernetes平台实践

Hadoop与Kubernetes就好像江湖里的两大绝世高手,一个是成名已久的长者,至今仍然名声远扬,一个则是初出茅庐的青涩少年,骨骼惊奇,不走寻常路,一出手便惊诧了整个武林。Hadoop与Kubernete...

微笑向暖wx
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部