别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述Android以XML格式访问SDK属性相关的知识,希望能为你提供帮助。
我正在尝试扩展android的simple_list_item_2
,所以我复制了它的XML,它是:
<
TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/listPreferredItemHeight"
android:mode="twoLine"
android:paddingStart="?attr/listPreferredItemPaddingStart"
android:paddingEnd="?attr/listPreferredItemPaddingEnd">
<
TextView android:id="@id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textAppearance="?attr/textAppearanceListItem" />
<
TextView android:id="@id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/text1"
android:layout_alignStart="@id/text1"
android:textAppearance="?attr/textAppearanceListItemSecondary" />
<
/TwoLineListItem>
在我的实施中,问题是这条线
android:textAppearance="?attr/textAppearanceListItemSecondary"/>
给出错误:
Cannot resolve symbol ?attr/textAppearanceListItemSecondary
我试过像这样的东西:
android:textAppearance="android:?attr/textAppearanceListItemSecondary"
和
android:textAppearance="@android?attr/textAppearanceListItemSecondary"
但它不起作用所以我的问题是,如何访问Android SDK资源中的布局可以访问的相同符号/属性?我是否需要将符号复制到我的应用程序目录,或者我可以简单地访问
simple_list_item_2
所做的那个?此外,原来的
simple_list_item_2
位于C:Androidsdkplatformsandroid-23data
eslayout
,我的实施位于appsrcmain
eslayout
,如果它有帮助答案
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
Documentation
您需要将
?
放在包名之前,而不是之后:?[<
package_name>
:][<
resource_type>
/]<
resource_name>
引用样式属性 样式属性资源允许您引用当前应用的主题中的属性值。引用样式属性允许您通过设置UI元素的样式来自定义UI元素的外观,以匹配当前主题提供的标准变体,而不是提供硬编码值。引用样式属性实质上是说“在当前主题中使用由此属性定义的样式”。另一答案您无法访问私有SDK属性,因此您必须复制它们。
要引用样式属性,名称语法几乎与普通资源格式相同,但使用问号(?)代替at符号(?),资源类型部分是可选的。例如:
?[< package_name> :][< resource_type> /]< resource_name>
【Android以XML格式访问SDK属性】它可能在使用反射的代码中,但肯定不在xml中。
推荐阅读
- Android Camera2预览偶尔会旋转90度
- 如何解决Windows中的cmd或node.js命令提示符问题(git未安装或未在PATH中)
- 使用Javascript,HTML和CSS创建C#Windows .NET应用程序
- symfony项目中的供应商文件夹不会与(netbeans或svn)subversion一起上传
- Zoho邮件在Hotmail和Outlook用户的垃圾邮件文件夹中结束(解决方案)
- 使用Magento 2开发人员工具栏以正确的方式调试和配置Magento 2
- Magento 2 Elasticsearch Catalog Search索引器处理未知错误(除非将include_type_name参数设置为true,否则无法在放置映射请求中提供类型)
- 如何为你的Magento 2开发版本设置调试环境
- 如何从同一局域网(LAN)中的计算机或移动设备访问XAMPP的htdocs目录