搜索栏是进度条的一种。我们可以从左向右拖动搜索栏,反之亦然,因此可以更改当前进度。 ColorSeekbar与seekbar相似,但是我们使用它来从多种颜色中选择一种颜色,并且可以选择任何自定义颜色。借助此小部件,我们可以为用户提供更多控制权,以根据其需要自定义其应用程序。
方法:
- 在根build.gradle文件(而不是模块build.gradle文件)中添加支持库。这个库jitpack是一个新颖的软件包存储库。它是为JVM设计的,因此github和bigbucket中存在的任何库都可以直接在应用程序中使用。
allprojects { repositories { maven { url "https://jitpack.io" } } }
- 在build.gradle文件中添加支持库,并在“依赖项”部分中添加依赖项。该库提供了各种内置功能,我们可以使用这些函数为用户提供最大的自定义功能。
dependencies { implementation 'com.github.rtugeek:colorseekbar:1.7.7' }
- 现在,在values目录的字符串.xml文件中添加颜色数组custom_colors 。
strings.xml
- #219806
- #F44336
- #FFEB3B
activity_main.xml
MainActivity.java
package org.geeksforgeeks.colorseekbar; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import com.rtugeek.android.colorseekbar.ColorSeekBar; public class MainActivity extends AppCompatActivity { TextView textView; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById( R.id.text_view); ColorSeekBar colorSeekBar = findViewById( R.id.color_seek_bar); colorSeekBar.setOnColorChangeListener( new ColorSeekBa r.OnColorChangeListener() { @Override public void onColorChangeListener( int i, int i1, int i2) { textView .setTextColor(i2); } }); } }
- 现在在activity_main.xml中文件。此添加以下代码将添加一个TextView和activity_main一个colorSeekbar。在此文件中,我们将数组custom_colors添加到搜索栏。
activity_main.xml
- 现在,在MainActivity中添加以下代码。 Java文件。 onClickListener随搜索栏一起添加。当值通过seekbar更改时,将调用onClickListener并更改textview中文本的颜色。
主要活动。Java
package org.geeksforgeeks.colorseekbar; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import com.rtugeek.android.colorseekbar.ColorSeekBar; public class MainActivity extends AppCompatActivity { TextView textView; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById( R.id.text_view); ColorSeekBar colorSeekBar = findViewById( R.id.color_seek_bar); colorSeekBar.setOnColorChangeListener( new ColorSeekBa r.OnColorChangeListener() { @Override public void onColorChangeListener( int i, int i1, int i2) { textView .setTextColor(i2); } }); } }
输出: