当前位置: 首页 > 知识库问答 >
问题:

android-在xml中应用selectableItembackground并支持v7

颛孙嘉玉
2023-03-14

即使我的应用程序中包含Android支持v7

添加Android:背景=“?Android:attr/可选项目后台”

使我的IDE,Eclipse抛出一个错误(阻止我编译),通知我selectableItemBackground只适用于min Api 11及以上版本。

如何在XML中将该属性添加到背景中?

假设从更高的库复制和粘贴不是解决方案

共有3个答案

刘奇
2023-03-14

不是这方面的专家,但似乎你需要基于平台版本的主题。我认为官方指南很好地解释了这个过程

您必须为每个版本创建不同的XML文件,并将它们保存在res/values-v7res/values-v11等中。然后将这些样式用于视图。像这样:

在< code>res/values-v7中:

<style name="LightThemeSelector" parent="android:Theme.Light">
    ...
</style>

分辨率/值-v11 中

<style name="LightThemeSelector" parent="android:Theme.Holo.Light">
    <item name="selectableItemBackground">?android:attr/selectableItemBackground</item>
    ...
</style>

然后使用视图样式:

<TextView
    style="@style/LightThemeSelector"
    android:text="@string/hello" />

希望这有帮助。干杯。

景高杰
2023-03-14

这里是selectedItemBackground。您可以在/platforms/Android-14/data/RES/themes . XML中找到它

<selector xmlns:android="http://schemas.android.com/apk/res/android"
          android:exitFadeDuration="@android:integer/config_mediumAnimTime">

    <item android:state_window_focused="false" android:drawable="@color/transparent" />

    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
    <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" />
    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_background_disabled" />
    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
    <item android:state_focused="true"                                                             android:drawable="@drawable/list_selector_background_focused" />
    <item android:drawable="@color/transparent" />

</selector>

您可以在Android SDK 目录中找到可绘制内容

../platforms/android-14/data
邢俊悟
2023-03-14

由于该属性是在库中定义的(支持 v7),因此您可以将其用作用户定义的属性:即没有 android: 前缀:

android:background="?attr/selectableItemBackground"

您看到的错误指出?android:attr/selectableItemBackground适用于API版本

 类似资料:
  • 我想向特定的电子邮件ID发送一些消息。我将设置为地址并尝试发送消息。它在Gmail应用程序中运行良好。但它在邮件应用程序中工作不正常,尤其是在Nexus 7(HTC one V)中。背后的原因是什么? 源代码 更新的代码 Intent emailIntent=new Intent(android.content.Intent.ACTION_SENDTO); emailIntent.setType(

  • 问题内容: 有人可以帮助我 如何在Android中使用speex或jspeex吗? 我进行了很多搜索,但找不到任何地方。code.google.com/ android中 与此相关的问题很多,但都没有答案。这里的这个问题也没有得到很好的回答,因为我对此的另一个问题是Android中的解码speex编码的字节数组。因此,如果您对此有所了解,请向我提供有关此信息。 我需要使用此编解码器对音频文件的字节

  • 根据Android中关于和的文档,TLS v1。1和v1。API级别16支持2个协议,但默认情况下不启用。http://developer.android.com/reference/javax/net/ssl/SSLSocket.html http://developer.android.com/reference/javax/net/ssl/SSLContext.html 如何在运行Andro

  • 我正在尝试为中的每一行设置 突出显示。 我有一个可绘制的资源文件: 我已经在三星Galaxy S5设备上进行了测试,该设备可以正常工作。但是,当我在安装了Android 4.4.2的中兴Compel设备上进行测试时,它不起作用。 我的应用程序针对API 15及更高版本。 任何想法为什么这样: 不能在Android4.4.2设备上工作? 日志中的错误: 由以下原因引起:组织:二进制 XML 文件行

  • 在Android P中获取错误时,直接访问此部分:

  • 我有一个嵌入jetty服务器的Gradle Java项目。我想为同一个项目启用web应用程序支持。 Intellij IDEA帮助说明如何在下面的链接中为现有项目启用。https://www.jetbrains.com/help/idea/2016.1/enabling-web-application-support.html#d1788100e258 但是这个过程使用了Intellij IDEA