ClipDrawable 是一个挺好看的一个图片Drawable,操作起来也算比较简单。下面先把代码贴上来,通过例子进行说明。

main.xml文件的内容:

[html] view plain copy print ?
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical">
  6. <ImageView
  7. android:id="@+id/image"
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:src="@drawable/my_clip"
  11. />
  12. </LinearLayout>

这里面重点是android:sec="@drawable/my_clip",调用了这个配置文件。这个配置文件的内容是:

[html] view plain copy print ?
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <clipxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:drawable="@drawable/test"
  4. android:clipOrientation="horizontal"
  5. android:gravity="center">
  6. </clip>

上面定义了三个属性。属性一是drawable的图片内容。第二个属性是展开的方向,第三个属性大家都经常用,不阐述。

这样,一个clipDrawable的配置文件都已经搞定了。调用一个clip配置文件,展示效果。比较简单。也很容易给项目添加一点感官上面的好处。

下面是Activity的代码:

[java] view plain copy print ?
  1. packagecn.jason.drawable;
  2. importjava.util.Timer;
  3. importjava.util.TimerTask;
  4. importandroid.app.Activity;
  5. importandroid.os.Bundle;
  6. importandroid.os.Handler;
  7. importandroid.os.Message;
  8. importandroid.widget.ImageView;
  9. publicclassClipDrawableextendsActivity{
  10. /**Calledwhentheactivityisfirstcreated.*/
  11. @Override
  12. publicvoidonCreate(BundlesavedInstanceState){
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. ImageViewimageView=(ImageView)findViewById(R.id.image);
  16. finalandroid.graphics.drawable.ClipDrawabledrawable=(android.graphics.drawable.ClipDrawable)imageView.getDrawable();
  17. finalHandlerhandler=newHandler(){
  18. @Override
  19. publicvoidhandleMessage(Messagemsg){
  20. if(msg.what==0x1233){
  21. drawable.setLevel(drawable.getLevel()+200);
  22. }
  23. }
  24. };
  25. finalTimertimer=newTimer();
  26. timer.schedule(newTimerTask(){
  27. @Override
  28. publicvoidrun(){
  29. Messagemsg=newMessage();
  30. msg.what=0x1233;
  31. handler.sendMessage(msg);
  32. if(drawable.getLevel()>=10000){
  33. timer.cancel();
  34. }
  35. }
  36. },0,300);
  37. }
  38. }
上面的代码定义了一个Handler,如果接收的是本程序的消息,则进行操作。特别注意。定义ClipDrawable的用法是把Drawable进行转换的。

更多相关文章

  1. android 自定义适配器Adapter基类BaseAdapter
  2. EditText属性详解
  3. Android截屏实现——亲测有效代码
  4. Android投票自定义View
  5. android自定义视图属性(atts.xml,TypedArray)学习
  6. android 权限定义的文件,位置
  7. Android 自定义Listview 如何绑定Sqlite数据库数据

随机推荐

  1. Android读写XML(下)——创建XML文档
  2. zz :Android测试之Monkey
  3. android的PowerManager和PowerManager.Wa
  4. Unity和Android交互
  5. Android属性之build.prop生成过程分析
  6. React Native基础之Image
  7. Android(安卓)P窗口机制之DecorView加载
  8. Android的数据存储方式
  9. 收藏的Android非常好用的组件或者框架。
  10. QT 仿android launcher