首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

TransitionDrawable&StateListDrawable的运用

2012-09-10 
TransitionDrawable&StateListDrawable的使用这个SDK里面的一段代码: 比较适合来做一个简单的动画(比如文

TransitionDrawable&StateListDrawable的使用
这个SDK里面的一段代码:
比较适合来做一个简单的动画(比如文字的渐变放大效果等)


当然在测试的时候需要准备2张图片image_expand,image_collapse
http://xueinsz.iteye.com/blog/767585






根据Button状态(normal,focused,pressed)显示不同背景图片
1. 在res/drawable目录下添加一个xml文件,用来描述Button在不同状态下对应的不同图片。我这里给该xml文件命名为btn_background.xml

2. 在res/layout目录下,对应的layout xml文件中,将Button的android:background属性设置为btn_background即可。


也可以代码实现:
Integer[] mButtonState = { R.drawable.defaultbutton,                R.drawable.focusedpressed, R.drawable.pressed };Button mButton = (Button) findViewById(R.id.button);mButton.setBackgroundDrawable(myButton.setbg(mButtonState));public StateListDrawable setbg(Integer[] mImageIds) {            StateListDrawable bg = new StateListDrawable();            Drawable normal = this.getResources().getDrawable(mImageIds[0]);            Drawable selected = this.getResources().getDrawable(mImageIds[1]);            Drawable pressed = this.getResources().getDrawable(mImageIds[2]);            bg.addState(View.PRESSED_ENABLED_STATE_SET, pressed);            bg.addState(View.ENABLED_FOCUSED_STATE_SET, selected);            bg.addState(View.ENABLED_STATE_SET, normal);            bg.addState(View.FOCUSED_STATE_SET, selected);            bg.addState(View.EMPTY_STATE_SET, normal);            return bg;}

Drawable资源:StateListDrawable,PaintDrawable,ShapeDrawable,NinePatchDrawable,BitmapDrawable
http://www.cnblogs.com/xirihanlin/archive/2010/06/14/1758145.html

LayerDrawable层叠样式layer-list
http://gundumw100.iteye.com/admin/blogs/896923

代码实现ColorStateList及StateListDrawable
http://blog.csdn.net/sodino/article/details/6797821

热点排行