我需要实现自己的属性,如in com.android.R.attr
在官方文档中找不到任何内容,因此我需要有关如何定义这些attrs以及如何在我的代码中使用它们的信息.
我正在尝试创建一个简单的Drawable,我想将其设置为视图的背景(使用setBackgroundDrawable).我只想将drawable的背景划分为2个相等的矩形(50% - 50%),第一个想要用黑色填充,第二个用白色填充:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/back_color_1">
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
<item android:id="@+id/back_color_2">
<shape android:shape="rectangle">
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
如何在可绘制XML定义文件中指定每个形状的宽度应为50%?像android:width ="50%"之类的东西.
(我正在使用Android 3.0,但我认为这是一个普通的Android问题.)
PS:您可以在CSS或XAML中执行此操作.
在我的Android项目中,我有几个使用自定义属性的自定义组件。
attrs.xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources >
<declare-styleable name = "TextBox">
<attr name = "font" format = "string"/>
</declare-styleable>
<declare-styleable name = "ButtonBox">
<attr name = "font" format = "string"/>
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
我在自定义组件中输入的属性很好,但是当我运行代码时,看到以下错误。
错误:多次发现Attr / font项目
错误:任务':app:mergeDebugResources'执行失败。
在两个不同的可声明样式的资源中有相似的属性名称,对吗?
如果您有任何帮助,将不胜感激,谢谢!