Android 设置图片 Bitmap任意透明度】的更多相关文章

两种思路,第一种思路是通过对Bitmap进行操作,将Bitmap的像素值get到一个int[]数组里,因为在android里Bitmap通常是ARGB8888格式,所以最高位就是A通道的值,对齐进行改变后再新建一个Bitmap即可.第二种思路是通过设置canvas的paint的透明度,然后通过canvas.drawBitmap()来改变View的透明度.具体代码如下: 第一种思路: public static Bitmap getTransparentBitmap(Bitmap sourceIm…
我了解的比较快捷的ImageView设置图片的透明度的方法有: setAlpha(); setImageAlpha(); getDrawable().setAlpha(). 其中setAlpha()已经不提倡使用了.通过看源码,我们发现setImageAlpha()的方法,实际就是setAlpha(),两者完全一样. 关于第三中方式,是先获取drawable对象,在设置该对象的透明度.需要说明的是,如果还有其他ImageView对象使用了相同的图片资源,那么第三中方式会影响所有使用该资源的Ima…
ImageView设置图片必备常识技术: Android设备会给每个应用分配16M的内存空间,如果你设置的图片的比较大且同一个页面有多个时,经常会报OOM错误导致程序奔溃.所以在这种情况下我们必须要对设置的图片进行处理: 方法一:简单粗暴点,图片大小调低点.方法可使但是很弱智,当然不推荐使用: 方法二:看代码 public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHe…
Android系统支持的颜色是由4个值组成的,前3个为RGB,也就是我们常说的三原色(红.绿.蓝),最后一个值是A,也就是Alpha.这4个值都在0~255之间.颜色值越小,表示该颜色越淡,颜色值越大,表示该颜色越深.如果RGB都是0,就是黑色,如果都为255,就是白色.Alpha也需要在0~255之间变化.Alpha的值越小,颜色就越透明,Alpha的值越大,颜色就不透明.当Alpha的值为0时,颜色完全透明,完全透明的位图或者图形从View上消失.当Alpha的值为255时,颜色不透明.从A…
activity代码如下: package com.example.chapter12_graphic_animation; import android.os.Bundle; import android.app.Activity; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.view.Menu; import android.view.View;…
首先,贴出效果图: 1.布局文件main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_p…
项目中用到滑动界面使顶部title栏背景渐隐渐现的效果,即初始不滑动时的透明度为0,用了bannerle.getBackground().setAlpha(0); 但使用这个方法设置透明度是管用,返回发现整个App的背景,不管是title栏还是布局背景都变成透明的了. 一finish掉这个界面出来整个世界都变了 解决方法:bannerle.getBackground().mutate().setAlpha(0); .mutate()使该控件状态不定,这样控件就不会共享自己的状态,而直接使用.ge…
在XML文件的ImageView属性中加上:android:scaleType="fitXY"…
android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法 原方法: public static Bitmap getSmallBitmap(String filePath, int reqWidth, int reqHeight) { final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; Bitma…
在自己自定义的一个组件中由于需要用图片显示数字编号,而当前图片就只有一张,上面有0-9是个数字,于是不得不考虑将其中一个个的数字切割下来,需要显示什么数字,只需要组合一下就好了. 下面是程序的关键代码: 在MyView(继承于View)类中的重写的onDraw(Canvas canvas)方法中,有如下代码段: Bitmap resource = BitmapFactory.decodeResource(this.getResources(), R.drawable.num); Bitmap z…