文档章节

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

SuShine
 SuShine
发布于 2015/06/25 15:28
字数 132
阅读 151
收藏 0
点赞 0
评论 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
粉丝 118
博文 436
码字总数 88684
作品 0
青岛
后端工程师
Android深度定制化TabLayout:圆角,渐变色,背景边框,基于Android原生TabLayout

Android深度定制化TabLayout:圆角,渐变色,背景边框,基于Android原生TabLayout 如今UI设计已经不再满足于下方只有一个下划线,切换后能改变和表示选中颜色的TabLayout了。设计对于TabLayo...

zhangphil ⋅ 05/28 ⋅ 0

彻底理解 Android 中的阴影

如果我们想创造更好的 Android App,我相信我们需要遵循 Material Design 的设计规范。一般而言,Material Design 是一个包含光线,材质和投影的三维环境。如果我们想要在 App 的开发过程中,...

丁佳辉 ⋅ 04/18 ⋅ 0

Android HWUI硬件加速模块浅析

原址 什么是硬件加速(What) 传统软件的UI绘制是依靠CPU来完成的,硬件加速就是将绘制任务交由GPU来执行。Android系统负责硬件加速的模块主要是HWUI,如下图所示: 为什么要硬件加速(Why)...

u010164190 ⋅ 04/27 ⋅ 0

Android - 绘制带有渐变色的折线图

图表绘制的需求在安卓开发中并不少见。常见的有饼图,柱状图,折线图等等。 在这里,我们可以给折线图添加一些色彩。除了线条本身的颜色外,还可以增加一些“花样”——渐变色。填充空余的地...

RustFisher ⋅ 06/11 ⋅ 0

Android Gallery控件使用方法详解

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

长平狐 ⋅ 2012/08/14 ⋅ 3

Android Gallery控件使用方法详解

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

长平狐 ⋅ 2012/08/21 ⋅ 1

Android Gallery控件使用方法详解

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

长平狐 ⋅ 2012/08/09 ⋅ 1

Android有用代码片段(四)

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

curitis ⋅ 2012/05/18 ⋅ 0

Android界面开发:自定义View实践之绘制篇

关于作者 郭孝星,程序员,吉他手,主要从事Android平台基础架构方面的工作,欢迎交流技术方面的问题,可以去我的Github提issue或者发邮件至guoxiaoxingse@163.com与我交流。 文章目录 一 Vi...

郭孝星 ⋅ 2017/09/28 ⋅ 0

Android单个字体从上到下的透明渐变(应用场景:展开全文的最后一行)

学习自 https://blog.csdn.net/ly1414725328/article/details/50034747 看见开源中国一个很有意思的功能 思路 通过一个渐变的view去覆盖这些字。 最正确思路 web端实现。我简单分析了下,开源...

qq_36523667 ⋅ 05/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部