Java Android studio布局编辑器是否显示自定义视图属性?
我有一个复合视图,它由两个按钮和一个文本视图组成。我想在Android Studio布局编辑器中编辑这些子视图的属性,但我不能。它只显示基本属性,但不显示自定义视图的属性 Android Studio布局编辑器是否仅显示默认设置的有限数量的属性?是否可以从那里编辑自定义视图的属性,而无需手动编辑XML文件 提前谢谢 如中所述,您必须添加一个新的ressource(res/values/attrs.xml)Java Android studio布局编辑器是否显示自定义视图属性?,java,android,android-custom-view,Java,Android,Android Custom View,我有一个复合视图,它由两个按钮和一个文本视图组成。我想在Android Studio布局编辑器中编辑这些子视图的属性,但我不能。它只显示基本属性,但不显示自定义视图的属性 Android Studio布局编辑器是否仅显示默认设置的有限数量的属性?是否可以从那里编辑自定义视图的属性,而无需手动编辑XML文件 提前谢谢 如中所述,您必须添加一个新的ressource(res/values/attrs.xml) 在视图中,您必须引用此新资源 <?xml version="1.0" enc
在视图中,您必须引用此新资源
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res/com.example.customviews">
<com.example.customviews.charting.PieChart
custom:showText="true"
custom:labelPosition="left" />
</LinearLayout>
现在您应该可以在编辑器中看到属性。更改
xmlns:sidespinner="http://schemas.android.com/tools"
到
android studio将显示自定义视图的自定义属性
请确保在
res/values/attrs.xml
中定义了自定义属性。如果使用自定义属性自定义视图
,则需要使用自己的命名空间来设置自定义属性
首先,在布局的根视图中设置名称空间,如下所示:
xmlns:sidespinner="http://schemas.android.com/apk/res-auto"
<your-custom-view
sidespinner:boolean-attr="true"
sidespinner:integer-attr="5"
sidespinner:enum-attr="none"//your enum values
sidespinner:dimen-attr="10dp" />
由于自定义属性名称是在当前项目或库项目的res/values/attrs.xml
中声明的,名称空间sidespinner
将告诉aapt
从当前项目或库项目中获取属性
Second,在自定义视图中设置自定义属性,如下所示:
xmlns:sidespinner="http://schemas.android.com/apk/res-auto"
<your-custom-view
sidespinner:boolean-attr="true"
sidespinner:integer-attr="5"
sidespinner:enum-attr="none"//your enum values
sidespinner:dimen-attr="10dp" />
我希望你清楚这一点。如果您想知道如何自定义属性,请参考@SteffenTimm的答案。投票失败的原因是什么?也许这会有帮助:@SteffenTimm:它没有解释,如何在布局编辑器面板中显示自定义属性谢谢您的回答。我尝试了您的解决方案,但不幸的是,android studio设计面板中没有显示自定义属性。它对你有用吗?目前我没有为Android开发,但我认为它在过去是这样工作的不幸的是Android Studio无法在设计面板中显示自定义属性这段代码在Android Studio 1.5+的编辑器中可以工作,只要你将其改为使用标准的“app”命名空间:xmlns:app="http://schemas.android.com/apk/res-auto“
(而不是XML顶部的xmlns:custom
)和视图定义中的app:showText
和app:labelPosition
。但是,专用工具:
仅覆盖编辑器(非运行时)值的命名空间当前不起作用。(所有这一切还取决于自定义视图构造函数代码,该代码实现并加载引用文档中提到的上下文中的XML属性值请看这个例子,它向Volley的NetworkImageView添加了这种支持,该视图没有从XML加载自定义属性,现在它使用这个自定义视图。