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属性。 原文链接:https://www.f2er.com/xml/297736.html