Android:将父状态传播到子视图

2024-01-08

我遇到了一些我基本上不知道如何解决的问题。我有一个 LinearLayout,里面有一些子组件,如 ImageView、TextView 等,可以在下面的 xml 中看到一个示例:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" 
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
style="@style/list_buttom_top">

<LinearLayout android:gravity="center_vertical"
    android:paddingLeft="10dip" 
    android:orientation="vertical"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_weight="1.0">

    <TextView android:text="title" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/title"
        style="@style/content_page_large_text" />

    <TextView android:text="summary" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/subtitle"
        android:visibility="visible" 
        style="@style/content_page_small_text" />
</LinearLayout>

<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:id="@+id/itemCount"
    android:visibility="gone" 
    style="@style/content_page_large_count_text" />

<ImageView android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:id="@+id/chevron"
    style="@style/list_buttom_chevron" />

</LinearLayout> 

list_buttom_top 样式表示当 LinearLayout 处于按下状态时,需要更改背景颜色,到目前为止这是有效的。问题是 content_page_large_text 还表示 TextView 的文本颜色也需要更改,但它没有发生。当我单击 LinearLayout 时唯一改变的颜色是它的背景。

<style name="list_buttom_top">
<item name="android:clickable">true</item>
<item name="android:paddingTop">10dip</item>
<item name="android:paddingBottom">10dip</item>
<item name="android:paddingLeft">10dip</item>
<item name="android:paddingRight">10dip</item>
<item name="android:gravity">center_vertical</item>
<item name="android:background">@drawable/background_view_rounded_top</item>
</style>

<style name="list_buttom_chevron">
    <item name="android:paddingLeft">4.0dip</item>
    <item name="android:paddingTop">2.0dip</item>
    <item name="android:paddingRight">4.0dip</item>
    <item name="android:paddingBottom">2.0dip</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:src">@drawable/chevron</item>
</style>    

我尝试在我的 TextViews 中使用这个 android:duplicateParentState="true" 但它也不起作用。 ImageView 也会发生同样的情况,当我单击 LinearLayout 时,它的源图像不会更改。

我在这里错过了什么吗? 感谢您的关注 时间


我认为你应该设置android:addStatesFromChildren="true"在线性布局中,这样子级的状态就会传播到父级。

另外,请确保NOT将其与android:duplicateParentState="true"因为它会导致堆栈溢出异常(基本上导致无限引用循环)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:将父状态传播到子视图 的相关文章

  • 在 Android 中动态填充年份的微调器?

    我一直在绞尽脑汁试图让它发挥作用 我想动态地将 1900 年到当前年份的年份输入到旋转器中 我认为使用 XML 定义的数组不可能做到这一点 但是我可以使用数组适配器来做到这一点吗 这是我到目前为止所拥有的 ArrayList
  • 发生存储异常。无法在firebase中上传图片

    在我能够更改图像并将其上传到 firebase 之前 这段代码就可以工作 但现在我突然收到此错误 我不知道问题是什么 public class SettingsActivity extends AppCompatActivity priva
  • 确定是否在已取得 root 权限的设备上运行

    我的应用程序具有某些功能 该功能只能在具有 root 权限的设备上运行 与其让此功能在使用时失败 然后向用户显示适当的错误消息 我更喜欢能够先默默地检查 root 是否可用 如果不可用 则首先隐藏相应的选项 有没有办法做到这一点 这是一个类
  • Whatsapp 在 Android 中共享音频文件时正在剪切音频文件

    我在共享格式不是 mp3 的音频文件时遇到问题 文件被共享 但长度较短 例如 如果文件有 10 秒 则仅共享 5 秒 如果我使用 mp3 格式 它会完全共享 但其他格式会出现问题 注意 该文件在其他应用程序 如Messenger 中共享没有
  • 如何使用 Android 版 Facebook 同步的联系人图片

    我的手机上安装了 Android 版 Facebook 它会自动将联系人列表中人员的 FB 个人资料图片同步到我的手机 我想在我访问的应用程序中使用这些图片ContactsContract PhoneLookup 我真的需要 Faceboo
  • 为网络和/或持久存储序列化 Android Bundle?

    我需要序列化一个全面的应用程序 游戏 状态 以便通过网络传输或保存到磁盘并在以后检索 当然 捆绑包用于在多个用例中保存 恢复状态 因此使用它们将是理想的选择 但是 由于某种原因 Bundle 不可序列化 寻找解决方案只发现了将 Bundle
  • 如何在 Android 中创建刮刮卡?

    我需要为我在学校的期末项目创建一个 刮刮卡 应用程序 但找不到如何实现刮刮事件的方法 如何创建背景图像并在其上放置灰色矩形 所以当我刮刮这些矩形时我会看到他们下面的图片 实现必须在 Android 中 因为我还不知道如何在 Objectiv
  • 如何在 android-studio 0.3.6 中运行 Gradle 1.9?

    我只是花了一些时间尝试将现有的 android studio 项目从 gradle 1 8 迁移到 gradle 1 9 Final 昨天发布 但失败了19th Nov 我在这里阅读了大多数其他与 gradle 相关的帖子 但没有一个对我有
  • Android Things 文件系统

    我正在 Android 上构建这个应用程序 我希望能够让它访问 U 盘上的媒体文件 甚至树莓派的 SD 卡上的媒体文件 我还不知道我将如何处理这些文件 但我只是想知道它是否可能 如果不是这样也没关系 我还有其他解决方案 但我想我会先从明显的
  • 如何在代码中设置TextView的文字颜色?

    在 XML 中 我们可以通过以下方式设置文本颜色textColor属性 比如android textColor FF0000 但如何通过编码来改变它呢 我尝试过类似的东西 holder text setTextColor R color R
  • 如何知道点击的widget id?

    我已经实施了一个widget与ImageButton and a TextView That ImageButton启动一个activity当它被点击时 这activity使用用户在活动上写入的内容更新小部件文本EditText 现在的问题
  • 来自外部 XML 的 Android 本地化

    是否可以使用从服务接收到的 XML 在运行时翻译 Android 应用程序 如果可能的话 请有人指出我正确的方向 谢谢 Warning 我读到的所有内容都表明 让您的应用程序更改语言不是一个好主意 因为 Android 框架不支持它 并且可
  • BluetoothLeScanner 服务内部问题

    Update从Android 10以上我认为你需要ACCESS BACKGROUND LOCATION权限 因此 如果此代码在最新的 Android 版本上不起作用 就是针对此问题的 ACCESS BACKGROUND LOCATION 受
  • Android 将菜单项在操作栏中向左对齐

    我的应用程序中有一个操作栏 它显示我定义的菜单项res menu activity main xml 我的菜单项在操作栏上向右对齐 我希望它们左对齐 我为此找到的唯一解决方案使用了自定义操作栏 如下所示 将菜单项放置在 Honeycomb
  • Android apk 调试模式工作正常,但发布模式给出太多警告

    我正在尝试从 eclipse 获取签名的 APK 我有一个可调试的 apk 版本 运行良好 现在发布时 当我尝试使用 Eclipse ADT 进行编译和签名时 我收到很多警告 其中大部分是can t find superclass or i
  • onTouch 给出奇怪的触摸点 Android

    我正在做的事情非常简单 我以前做过 但现在它没有按我的预期运行 无论如何 让我简要解释一下我正在尝试做什么以及我得到了什么 设想 我有一个RelativeLayout其中一个ImageView已放置 现在我设置touchlistener像这
  • 从 AlertDialog 返回值

    我想构建一个函数来创建 AlertDialog 并返回用户输入的字符串 这是我用于创建对话框的函数 如何返回该值 String m Text private String openDialog String title AlertDialo
  • Android 视图和视图组

    在安卓中ViewGroup继承自View A ViewGroup是一个容器 里面装有Views ViewGroup LinearLayout View TextView 为什么 Android 的人们将这种关系定义为Inheritance而
  • SambaFileInputStream 和 FileInputStream 有什么不同?

    我需要从 samba 服务器流式传输视频 并且我使用 nanohttpd 在我的项目中创建简单的服务器 当我使用本地文件中的 fileinputstream 时 视频视图可以按设置播放视频 http localhost 8080 publi
  • 将数据放入短信发送意图中?

    我想发送短信 如果文字太长 我会将其分成多条消息 我试图将一些额外的信息放入 已发送 意图中 以了解哪个部分已发送 以及所有部分何时完成 ArrayList

随机推荐

  • 如何在 Xamarin.Forms 的 MainPage 上创建动态按钮列表?

    我正在创建一个应用程序来扫描条形码门票 当您启动应用程序时 屏幕上必须显示可用节目的列表 为了获取所有可用的节目 我正在使用一个网络服务 它会返回一个List
  • 使用临时数组作为左值

    这个程序的格式不正确 struct X int i int main X i 1 i 临时的子对象X 不能用作左值 因为X 是一个右值 然而 这会用 GCC 5 2 1 进行静默编译 并且 Wall using Y int 10 int m
  • 替换 Markdown 文本中的占位符(变量)的最简单方法?

    我需要一种开放格式来以通用方式 使用占位符 变量 编写故事 为了使故事具体化 我想设置一个键 值对列表并在发布时应用它们 我还想将样式与内容分开 这样我就可以轻松发布到网络 pdf 等 例子 varname is a great place
  • 从大文件中查找唯一值

    我有一个大文件 比如 10 TB 其中包含 MD5 哈希流 其中包含重复项 我的内存为 10MB 非常有限 硬盘空间不受限制 使用给定条件查找所有唯一的哈希值 消除重复项 请帮忙 这显然不是一个家庭作业问题 您可以使用外部排序算法 例如使用
  • 如何过滤 Room 中的嵌套关​​系?

    让我们举个例子 我有一个表格 其中有几个部分 每个部分都有问题 侧面 我有映射到问题的答案 并且它们还有我想在查询时过滤的另一列 所以我有以下实体 Entity tableName sections public class Section
  • Qt宏关键字导致名称冲突

    我正在为我的 Qt 项目构建 NCurses 界面 我想使用 CDK 但我认为signals该结构的成员与 Qt 发生冲突signals关键词 usr include linux cdk h 411 error expected unqua
  • SQL - 如果行数大于则插入

    我创建了一个 SQL 查询 该查询将从 Oracle 链接服务器返回行 例如 该查询工作正常 将返回 40 行 我希望仅当返回的行数大于 40 时才将结果插入到表中 我的想法是 我可以创建一个触发器来发送一封电子邮件 告知该号码已被泄露 D
  • 从 C# 调用包含函数指针的 DLL 函数

    我有一个用 C 编写的 DLL 其中包含导出函数 该函数具有用作回调函数的函数指针 C DllExport unsigned int DllFunctionPointer unsigned int i unsigned int TimesT
  • Phantomjs Function.prototype.bind

    对我知道那个 Phantomjs 不支持函数绑定 但也许我可以用别的东西 或者说page open不使用bind 看起来还可以 但是有些网站 返回错误 TypeError undefined is not a function evalua
  • Windows 上的 Python - 如何等待多个子进程?

    如何在 Windows 上的 Python 中等待多个子进程 而不需要主动等待 轮询 像这样的东西almost对我有用 proc1 subprocess Popen python mytest py proc2 subprocess Pop
  • 如何获取传递给函数的变量的原始变量名[重复]

    这个问题在这里已经有答案了 是否可以获取传递给函数的变量的原始变量名 例如 foobar foo def func var print var origname So that func foobar Returns gt gt fooba
  • 警报管理器 2 次

    我有一个BroadcastReceiver called AlarmReceiver that Toasts 警报工作了 我正在尝试设置重复PendingIntent引起AlarmReceiver5 45 和 17 30 但在启动应用程序几
  • grails:如何更改编译的 GSP(gsp*.class 文件)?

    我在 weblogic 中使用 grails 需要更改展开的部署文件夹中的类文件 但这个类实际上是一个gsp编译的文件 那么 问题是 GSP 文件 class 在战争中留在哪里 注意 我正在使用外部 GSP 设置grails gsp vie
  • Google 图表 API JSON 无效

    以下代码返回 Google 图表的 json public static DataTable generateDataTable Create a data table DataTable data new DataTable ArrayL
  • 使用本地化日期进行 Django 查询

    在我的表单中 我有一个名为 booking date 的 DateField 它是使用 AdminDateWidget 呈现的 booking date字段的内容需要国际化 当我想像这样使用字段的值时 就会出现问题 booking Book
  • 访问或获取静态类中的 Autofac Container

    我需要在静态类中获取或访问我的 IoC 容器 这是我的 简化的 场景 我在 Startup 类中注册 ASP net Web Api 的依赖项 而且我也为 MVC 或 WCF 执行此操作 我有一个 DependecyResolver 项目
  • 如何从可变大小的字符串中获取所需的字符?

    我需要提取附加到该单词的所需字符串 例如 pot 1 Sam pot 22 Daniel pot 444 Jack pot 5434 Bill 我需要从上面的字符串中获取名称 即萨姆 丹尼尔 杰克和比尔 问题是 如果我使用子字符串 由于数字
  • git ls-带日期的文件?

    在 GitHub 上 每个文件夹页面上都有这个很好的功能 它列出了文件名以及上次提交该文件的时间 这类似于ls l命令 有没有办法从命令行模仿这种行为 就像是 git ls files l 基于sjas 回答 https stackover
  • mySQL 专家 - 需要“相交”方面的帮助

    我知道 mySQL 5 x 不支持 INTERSECT 但这似乎正是我所需要的 表 A 产品 p id 表 B Prod cats cat id 类别信息 名称 描述等 表 C prod 2cats p id cat id 多对多 prod
  • Android:将父状态传播到子视图

    我遇到了一些我基本上不知道如何解决的问题 我有一个 LinearLayout 里面有一些子组件 如 ImageView TextView 等 可以在下面的 xml 中看到一个示例