Android之Drawable】的更多相关文章

以前我自定义的进度条(就是咱们现在工程中用的)是从android的源码中扒出来的一个XML,然后把里面的图片给替换了.一直不知道它的具体原理是什么. 今天得空研究了一下,发现它的原理其实就是用的android提供的一个叫ClipDrawable的类实现的. 于是我就继续深入研究ClipDrawable的用法,研究的结果让我很开心,发现这个类可以很容易实现各种自定义进度条的效果. ClipDrawable类继承自Drawable,具体用法如下: 1.先自定义一个XML(命名为clip.xml),放…
android:drawable 放一个drawable资源android:state_pressed 是否按下,如一个按钮触摸或者点击.android:state_focused 是否取得焦点,比如用户选择了一个文本框.android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性android:state_selected 被选中,它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向…
今天尝试着安装了Android Studio,界面确实不错,列表什么的也改了很多. 然后新建工程,习惯性在activity_main那里加上一段代码测试看看: <ImageView android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/ic_launcher"/> 然后最后一句话红色高亮——报错了. 我打开eclipse两相对…
Drawable Animation是逐帧动画,那么使用它之前必须先定义好各个帧.我们可以通过代码定义,也可以使用xml文件定义,一般使用后者.如下: <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="fals…
1.使用BitmapShader实现图片圆角 public class CornerDrawable extends Drawable { private Paint mPaint; private Bitmap bmp; private RectF rectF; public CornerDrawable(Bitmap bmp) { this.bmp = bmp; BitmapShader shader = new BitmapShader(bmp, Shader.TileMode.CLAMP…
Android获取Drawable的方式一般是Resources.getDrawable(int),Framework会返回给你一个顶层抽象的Drawable对象.而在Framework中,系统使用了享元的方式来节省内存.为了证明这一点,我们来写一个小demo: 我们在我们的Android项目中引入一个简单的图片test.png.由于我们只是为了享元的结论,我们定义一个简单的Activity,并复写它的onCreate方法: List<Bitmap> list = new ArrayList&…
在xml文件中调用. android:title="@string/secure_connect"android:orderInCategory="100"android:icon="@android:drawable/ic_menu_search" android:drawableRight="@android:drawable/arrow_down_float"/> 程序中调用. setIcon(android.R.…
Drawable天天用,可你是否对Drawable家族有一个完整的认知?今天我们就来系统的学习一下Drawable的使用. 1.概述 用过Drawable的筒子都知道Drawable有很多种,有的时候Drawable是一张图片,有的时候Drawable是我们通过颜色构造出来的某种图形.最常见的自己构造的Drawable图形莫过于ShapeDrawable,我们在开发中可能经常需要自己绘制一个矩形.圆形.椭圆等等各种各样的图形.一般来说,Drawable并没大小的概念(虽然可以通过getIntri…
本节和<Android群英传>中的第六章Android绘图机制与处理技巧有关系,建议先阅读该章的总结 第6章 Android的Drawable 6.1 Drawable简介 (1)Android的Drawable表示的是一种可以在Canvas上进行绘制的概念,它的种类很多,最常见的就是图片和颜色了.它有两个重要的优点:一是比自定义view要简单:二是非图片类型的drawable占用空间小,利于减小apk大小.(2)Drawable是抽象类,是所有Drawable对象的基类.(3)Drawabl…
1.获取Drawable的内部宽\高:getIntrinsicHeight/Width.但是并不是所有Drawable都有内部宽高(比如说一个颜色形成的宽高,Drawable的宽高不等于大小,大小是根据VIew的大小而定的) 2.BitmapDrawable 作用:引用原始图片,但是附加各种渲染属性. 3.ShapeDrawable 使用:以前有分析过,就不分析了. 注意:<gradient>与<solid>冲突无法同时使用.<stroke>中只要dashWidth和d…