gpt4 book ai didi

Android ListView自定义

转载 作者:行者123 更新时间:2023-11-29 22:06:11 24 4
gpt4 key购买 nike

我有一些示例内容的 PreferenceActivity:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="First Category"
android:key="first_category">
<CheckBoxPreference
android:key="perform_updates"
android:summary="Enable or disable data updates"
android:title="Enable updates"
android:defaultValue="true"
/>
<ListPreference
android:key="updates_interval"
android:title="Updates interval"
android:summary="Define how often updates will be performed"
android:defaultValue="1000"
android:entries="@array/updateInterval"
android:entryValues="@array/updateIntervalValues"
android:dependency="perform_updates"
/>
</PreferenceCategory>

<PreferenceCategory
android:title="Second Category"
android:key="second_category">
<EditTextPreference
android:key="welcome_message"
android:title="Welcome Message"
android:summary="Define the Welcome message to be shown"
android:dialogTitle="Welcome Message"
android:dialogMessage="Provide a message"
android:defaultValue="Default welcome message"/>
</PreferenceCategory>
</PreferenceScreen>

众所周知,在 4.0 之前的所有 Android 中,它看起来都非常丑陋。现在的想法是创建自定义主题并将其应用于 Activity 。我想让 ListView 看起来像下图所示:

enter image description here

我可以通过重写 <item name="listSeparatorTextViewStyle"> 来调整分隔符(“Personalizacja”、“Informacje[...]”) ...但真正的问题是:如何为单独的组创建带有圆角的背景?我找不到任何方法来将自定义样式设置为组中的第一个/最后一个元素。

如果有任何想法,我将不胜感激。但请注意,我只想通过样式和主题来实现它。

顺便说一句。如果您知道如何实现上述目标,但没有圆角 - 也请告诉我!

最佳答案

我觉得一个android ListView就可以实现这个效果。 ListView 的主要特性是回收其行条目,这样就不必为每个列表条目实例化它们。

诀窍是创建多个列表元素布局并在您的 ListAdapater 中交换它们。因此,您基本上会有组标题、组顶部元素、组中间元素和组底部元素的列表条目。您的适配器中的 ViewHolder 应该保留 4 种不同的布局"template"。

下图描述了不同的布局段:

enter image description here

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

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