经常会使用上述两个API来获取ImageView中显示图片的大小,但是在某些情况下,这两个API返回的大小可能与原图的大小不一致,比如原图大小是72*72,分别把原图放置在xhdpi,xxhdpi,xxxhdpi文件夹下,读取到的值就不一样了,这个值的大小与运行设备的当前dpi有关,不能单纯单从字面意思上把它理解成ImageView中图片的原始大小,这是不对的.…
          在Android的开发中,凡是需要画图的地方大都离不开类Drawable.Android的官方文档中介绍这个类就是被设计用来表示可以被画的东西.A Drawable is a general abstraction for "something that can be drawn."        细心的同学可能会发现这个类提供了这样两个方法:getIntrinsicWidth()和getIntrinsicHeight(),顾名思义他们是用来取得Drawable的固…
在上一项目上需要对TextView在xml文件中设置的drawableLeft的图片进行更改,查询了资料好久也没有找到解决办法,如下代码所示: commentTV.setCompoundDrawables(drawable, null, null, null); 后来又经过在stackoverflow,sourceforge等网站上进行询问,才发现是因为缺少了对drawable的边界进行处理,修改后的可起作用代码如下: Drawable drawable = getResources().get…
本节和<Android群英传>中的第六章Android绘图机制与处理技巧有关系,建议先阅读该章的总结 第6章 Android的Drawable 6.1 Drawable简介 (1)Android的Drawable表示的是一种可以在Canvas上进行绘制的概念,它的种类很多,最常见的就是图片和颜色了.它有两个重要的优点:一是比自定义view要简单:二是非图片类型的drawable占用空间小,利于减小apk大小.(2)Drawable是抽象类,是所有Drawable对象的基类.(3)Drawabl…
接上篇<android开发艺术探索>读书笔记(五)--RemoteViews [BitmapDrawable] 简单的图片 <!xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@[package:]drawable/draw…
Android 中图片和常见的颜色都可以是一个Drawable. Drawable可以方便我们做出一些特殊的UI效果,这一点在UI相关的开发工作中尤其重要.其主要优点有: 使用简单,比自定义View成本要低: 非图片类型的Drawable占用空间小,对减小apk大小有帮助: Drawable作为图片的时,内部的宽/高这个参数比较重要,通过getIntrinsicWidth和getIntrinsicHeight这两个方法获得.但作为颜色背景时,是没有宽高概念的,会自动延伸和View的背景大小一样.…
Android的view组件显示主要经过mesure, layout和draw这三个过程.在mesure阶段里调用mesure(int widthSpec, int heightSpec)方法,这个方法是final不能被重写,在这个过程里会调用onMesure(int widthSpec, int heightSpec)方法.当组件设置好大小后,调用finallayout(int l, int t, int r, int b)方法进行布局,在这个过程里会调用onLayout(boolean ch…
protected void onAttachedToWindow() This is called when the view is attached to a window. At this point it has a Surface and will    start drawing. Note that this function is guaranteed to be called  before onDraw(android.graphics.Canvas), however it…
绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现 绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds(),然后是draw(Canvas c)方法.有点注意的是背景drawable的实际大小会影响view组件的大小,drawable的实际大小通过 getIntrinsicWidth()和getIntr…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43752383,本文出自:[张鸿洋的博客] 1.概述 Drawable在我们平时的开发中.基本都会用到,并且给大家很的实用.那么什么是Drawable呢?可以在canvas上绘制的一个玩意.并且相比于View,并不须要去考虑measure.layout,只只要去考虑怎样draw(canavs). 当然了,对于Drawable传统的使用方法.大家肯定不陌生 .今天主要给大家带来下面…