首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BottomSheetBehavior_Layout_behavior_hideable是如何翻译成app:behavior_hideable的?

BottomSheetBehavior_Layout_behavior_hideable是如何翻译成app:behavior_hideable的?
EN

Stack Overflow用户
提问于 2018-10-30 17:04:09
回答 1查看 2.4K关注 0票数 3

BottomSheetBehavior的Android文档中,它说我可以在XML中使用以下属性:

代码语言:javascript
复制
BottomSheetBehavior_Layout_behavior_hideable

我试过这个:

代码语言:javascript
复制
android:BottomSheetBehavior_Layout_behavior_hideable="true"

但这给了我以下错误:

未知属性android:BottomSheetBehavior_Layout_behavior_hideable

这个错误在重力,填充物上讨论过,但是没有一个解决方案对我有效,因为它们都是关于同步项目文件的。我的是同步的。没有人质疑属性名的有效性,我认为这就是我的问题所在。

然后我试了一下:

代码语言:javascript
复制
app:BottomSheetBehavior_Layout_behavior_hideable="true"

但这给了我以下错误:

为标记找到意外名称空间前缀"app“

这个错误在为标签RelativeLayout - Android找到了意想不到的名称空间前缀"app“?上讨论过,但是这些解决方案对我都没有用,而且--更重要的是我的问题--在这里,属性似乎是这样写的:

代码语言:javascript
复制
app:behavior_hideable="true"

app:behavior_hideable是编写BottomSheetBehavior_Layout_behavior_hideable的正确方法吗?执行此转换的机制的名称是什么?它的文件在哪里?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-30 17:36:55

答案有几个组成部分。

  1. BottomSheetBehavior的构造函数中,来源属性如下所示

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.BottomSheetBehavior_Layout); setHideable(a.getBoolean(R.styleable.BottomSheetBehavior_Layout_behavior_hideable, false));

  1. 这些属性通常是在attrs.xml file中定义的。这是BottomSheetBehavior的BottomSheetBehavior。

所以这里发生的是一个LayoutInflater调用构造函数,并且通过R.styleable.[name_of_style]_[name_of_attribute]访问xml属性。当您想要在xml中应用样式时,只需使用属性的名称。在这种情况下,样式的名称是"BottomSheetBehavior_Layout",而属性的名称是"behavior_hideable“。同样,您也可以使用"behavior_skipCollapsed“和"behavior_fitToContents”。

有关样式的更多信息,官方文档如下:https://developer.android.com/training/custom-views/create-view#customattr

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53069440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档