gpt4 book ai didi

android - 如何更改 Android 中的搜索栏颜色?

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

有没有办法可以在 SeekBar android 小部件中更改黄色?

enter image description here

有解决方案吗?

最佳答案

第 1 步:创建图像可绘制对象(9 补丁)

在创建任何 XML 可绘制对象之前,请确保您创建了搜索栏背景、 handle 和进度部分所需的图像可绘制对象(包括一个 9 补丁可绘制对象)。 9-patch 可绘制对象将在以下步骤中由 XML 可绘制对象使用。

创建以下可绘制对象并将它们放在您的/res/drawable/文件夹中:

第 2 步:SeekBar 进度可绘制

现在为 Android 搜索栏进度(示例中的蓝色条纹部分)创建一个 XML 可绘制对象,将其命名为 seekbar_progress_bg.xml,并将其放在您的/res/drawable/文件夹中:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<clip>
<shape>
<gradient
android:startColor="#FF5e8ea3"
android:centerColor="#FF32a0d2"
android:centerY="0.1"
android:endColor="#FF13729e"
android:angle="270"
/>
</shape>
</clip>
</item>
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/stripe_bg"
android:tileMode="repeat"
android:antialias="true"
android:dither="false"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>

上面的 XML 首先绘制了一个半透明的蓝色渐变,然后将半透明条纹图像叠加在渐变之上。突出显示的代码行(第 20 行)指的是在步骤 1 中创建的可绘制文件夹内的条纹(半透明)图像。

有关通过 XML 创建自定义形状的更多信息,请查看 Android 可绘制资源文档,特别是位图和形状部分。

第 3 步:SeekBar 背景可绘制

接下来创建主搜索栏进度可绘制对象;它会为您的搜索栏内的搜索栏进度和 secondaryProgress 操作分配一个可绘制对象。将您的可绘制对象命名为 seekbar_progress.xml,将其放在您的/res/drawable/文件夹中:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<nine-patch
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/seekbar_background"
android:dither="true"
/>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<gradient
android:startColor="#80028ac8"
android:centerColor="#80127fb1"
android:centerY="0.75"
android:endColor="#a004638f"
android:angle="270"
/>
</shape>
</clip>
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/seekbar_progress_bg"
/>
</layer-list>

上面突出显示的代码的第一位(第 8 行)指的是在第 1 步中创建的搜索栏背景图像(9 block 可绘制对象),(第 29 行)指的是您在上面第 2 步中创建的可绘制对象。

第 4 步:将它们整合在一起……

此时,您需要做的就是在声明搜索栏时调用您的 seekbar_progress 可绘制对象:

<SeekBar
android:id="@+id/frequency_slider"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="20"
android:progress="0"
android:secondaryProgress="0"
android:progressDrawable="@drawable/seekbar_progress"
android:thumb="@drawable/seek_thumb"
/>

突出显示的两行代码正在为 SeekBar 项目设置进度和拇指可绘制对象。 @drawable/seekbar_progress 指的是在上一步中创建的 XML drawable。

关于android - 如何更改 Android 中的搜索栏颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8599829/

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