gpt4 book ai didi

android - 更改 listSeparatorTextViewStyle 中使用的线条颜色

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

我有以下代码

        <TextView
android:text="@string/hello"
style="?android:attr/listSeparatorTextViewStyle" />

我会得到如下效果。

enter image description here

但是,我对颜色线不满意。我想要类似的东西

enter image description here

我希望它有全息图中的蓝色线条。我尝试以下自定义样式。

<style name="MyOwnListSeperatorTextViewStyle">        
<item name="android:background">@android:drawable/list_section_divider_holo_light</item>
<item name="android:textAllCaps">true</item>

<!-- Copy from Widget.TextView.ListSeparator -->

<item name="android:background">@android:drawable/dark_header_dither</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">?textColorSecondary</item>
<item name="android:textSize">14sp</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingLeft">8dip</item>
</style>

但它不会工作,因为我收到以下错误。

错误:错误:资源不公开。 (在值为“@android:drawable/dark_header_dither”的“android:background”处)。

知道如何更改 listSeparatorTextViewStyle 中使用的线条颜色吗?

最佳答案

我需要这样做来覆盖典型的 Holo Spinner 样式(我不想要带下划线的项目 - 我只想要箭头),我认为这可以用完全相同的方式覆盖:

首先,您想在 android 样式源中找到您希望覆盖的项目。这里有一个非常有用的 SO 答案,其中包含所有样式(以及覆盖它们的名称):Set Dialog theme to parent Theme in Android

我相信你的是下面一行:

<item name="listSeparatorTextViewStyle">@android:style/Widget.Holo.Light.TextView.ListSeparator</item>

这将带我们踏上寻找样式 Widget.Holo.Light.TextView.ListSeparator 的旅程,它应该存在于您自己的计算机上的某个地方!但我会让它变得简单,只需 c&p 即可:

<style name="Widget.Holo.Light.TextView.ListSeparator" parent="Widget.TextView.ListSeparator">
<item name="android:background">@android:drawable/list_section_divider_holo_light</item>
</style>

现在,您可能不想理会 well,只需查看背景可绘制对象。您会发现它是一个灰色的 9patch 文件,看起来像您要避免的险恶灰线。

我们需要覆盖它。我相信有很多方法可以做到这一点,但我是通过自定义应用程序的主题来实现的。这是 themes.xml 文件:

<style name="AppTheme" parent="@android:style/Theme.Holo.Light.NoActionBar">
<item name="android:listSeparatorTextViewStyle">@style/MyOwnListSeperatorTextViewStyle</item>
</style>

<style name="MyOwnListSeperatorTextViewStyle" parent="Widget.TextView.ListSeparator">
<item name="android:background">@drawable/make_your_own_blue_9_patch_here</item>
</style>

请注意我们是如何使用上一篇 SO 帖子中的 listSeparatorTextViewStyle 的?自定义样式的父级是android样式源中的Widget.TextView.ListSeparator?都很重要。

现在您只需将这个主题应用到您的应用程序,但我假设您已经有了一个主题。如果你还没有,你将需要制作你自己的 9patch 但我会在你的计算机上查看 list_section_divider_holo_light.9.png 文件,并将灰色部分设为蓝色,然后制作一个复制并将其放入您自己的 drawables 文件夹中。

希望这有效并且有用!

关于android - 更改 listSeparatorTextViewStyle 中使用的线条颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12171209/

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