从XML创建Drawables

Creating from resource XML

到现在,你应该已经熟悉了Android开发用户接口的准则。因此,你已经了解到了使用XML定义对象固有的强大和便利。这些理念同样适用于Drawables.如果你想创建一个Drawable对象,这个Drawable对象你在应用代码开始处定义的变量或用户接口,那么在XML中定义这个Drawable将会是一个好的选择。即使你期望你的Drawablee对象在用户和应用交互的过程中改变其属性,你也应该通过XML来定义这个对象,因为一旦它被实例化,你就可以修改他的属性。
如果你想在XML中定义Drawable对象,把定义的XML文件保存到你工程中的res/drawable目录。然后,通过调用Resources.getDrawable()并传递XML文件的资源ID来获取和实例化这个对象(查看下面的示例代码)
所有的支持inflate()方法的Drawable子类可以在XML中定义,然后可以在你的应用中实例化。所有可以支持XML的Drawable利用某些指定的XML属性来帮助定义对象的属性(可以查看参考来了解这些)。查看每个Drawable子类的文档来了解如何在XML中定义他。
实例:
如下定义了一个TransitionDrawable对象的实例:

  <transition xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:drawable="@drawable/image_expand">
      <item android:drawable="@drawable/image_collapse">
      </transition>
把上面的这段XML保存到 res/drawable/expand_collapse.xml,如下的代码将会实例化TransitionDrawable 并且把它设置为一个ImageView的内容。
然后,这个transition 可以以如下的方式运行:
transition.startTransition(1000);
参考上面列出的Drawable 来获取更多的关于各自支持的XML属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值