gpt4 book ai didi

Android ListView 主题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:43:55 26 4
gpt4 key购买 nike

有很多方法可以设置 ListView 的样式以赋予它们优雅的外观,但所有这些方法都涉及修改适配器或编写额外的代码。

随着 Android 4.0 的发布,不幸的是事情必须改变。 Google 完善了他们的 Holo 主题并赋予了它新的外观。现在鼓励所有开发人员使用它,以使所有应用程序看起来都一样。

这就是问题所在。谷歌推出了 4.0,但仍有人使用旧的 Android 版本。我们不能只保留我们以前的自定义应用程序主题并使用 Holo,因为它会破坏使用旧设备的用户的视觉体验。我们不能强制 4.0 用户只使用 Holo,因为说实话 - 它仍然不完美。

目标是使用内置主题系统并为 Holo 准备一些替代品,这些替代品在所有设备上看起来都很棒。然后我们可以只用 setTheme() 在 Holo 和我们的主题之间切换,没有其他问题。不幸的是,事情并没有那么简单。我们受限于现有主题系统的能力,有些事情很难做到。我的问题来了。

考虑到我提到的所有内容,我们如何控制 ListView 的外观?我无法弄清楚如何:

  • 创建带有圆角的列表,并确保在选择第一个/最后一个元素时选择器背景不会破坏它
  • 不是为列表创建圆角,而是为标题分隔的部分创建圆角,如下所示:enter image description here

该解决方案应该会影响由 PreferenceActivity 创建的 ListView,而无需任何额外的代码行。一切都应该包含在主题中:

<theme name="SampleTheme" parent="android:Theme">
...
</theme>

我恳请不要发布不使用样式和主题的解决方案。在 Stack Overflow 上的其他问题中可以轻松找到它们。

提前致谢。

最佳答案

我可以看到两种方法来解决这个问题。

一个是简单地为您的 ListView 使用一个主题来指定背景,这又是一个带圆角的 9 补丁或您指定的 xml 形状(也有圆角)。这将产生 ListView 行选择器出现在您指定的背景“上方”的副作用,因此会破坏效果。不过,实现起来非常简单。

第二个选项是简单地始终将页眉和页脚添加到 ListView 中, ListView 的背景是顶部(和底部)带有圆角的选择器。如果你真的愿意,你也可以为它们指定样式。对最后的评论感到抱歉,但我不得不说。请不要试图让您的应用看起来像 iPhone 应用:)

关于Android ListView 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10758629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com