Java Android studio布局编辑器是否显示自定义视图属性?

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

我有一个复合视图,它由两个按钮和一个文本视图组成。我想在Android Studio布局编辑器中编辑这些子视图的属性,但我不能。它只显示基本属性,但不显示自定义视图的属性

Android Studio布局编辑器是否仅显示默认设置的有限数量的属性?是否可以从那里编辑自定义视图的属性,而无需手动编辑XML文件

提前谢谢

如中所述,您必须添加一个新的ressource(res/values/attrs.xml)


在视图中,您必须引用此新资源

<?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加载自定义属性,现在它使用这个自定义视图。