1. 图形Drawable
Android把所有显示出来的图形都抽象为Drawable(可绘制的)。这里的图形不止是图片,还包括色块、画板、背景等。
drawable文件放在res目录的各个drawable目录下。\res\drawable一般存放的是描述性的XML文件,图片文件一般放在具体分辨率的drawable目录下。
- drawable-ldpi里面存放低分辨率的图片(如240×320),现在基本没有这样的智能手机了。
- drawable-mdpi里面存放中等分辨率的图片(如320×480),这样的智能手机已经很少了。
- drawable-hdpi里面存放高分辨率的图片(如480×800),一般对应4英寸~4.5英寸的手机(但不绝 对,同尺寸的手机有可能分辨率不同,手机分辨率就高不就低,因为分辨率低了屏幕会有模糊的感 觉)。
- drawable-xhdpi里面存放加高分辨率的图片(如720×1280),一般对应5英寸~5.5英寸的手机。
- drawable-xxhdpi里面存放超高分辨率的图片(如1080×1920),一般对应6英寸~6.5英寸的手机。
- drawable-xxxhdpi里面存放超超高分辨率的图片(如1440×2560),一般对应7英寸以上的平板电脑。
在代码中引用drawable文件可分为两种情况:
(1)使用setBackgroundResource和setImageResource方法,可直接在参数中指定drawable文件的资源 ID,例如“R.drawable.***”。
(2)使用setBackgroundDrawable、setImageDrawable和setCompoundDrawables等方法,参数是Drawable 对象,这时得先从资源文件中生成Drawable对象,示例代码如下:
Drawable drawable = getResources().getDrawable(R.drawable.apple);
2.状态列表图形
一般drawable是静态图形,如Button按钮的背景在正常情况下是凸起的,在按下时是凹陷的,从按下到 弹起的过程,用户便能知道点击了这个按钮。
这种情况会用到 Drawable的