Android ProgressBar,SeekBar进度条

ProgressBar

提供了两种进度显示模式,分别是具有进度值的精确模式和不具有进度值的模糊模式 xz 

1.style属性:设置ProgressBar的样式

2.横向进度条(可以是模糊也可以是精确,取决于indeterminate属性)

    Widget.ProgressBar.Horizontal

3.中间带圆形的精度条(模糊模式)

    Widget.ProgressBar

4.小号的圆形进度条(模糊模式)

    Widget.ProgressBar.Small

5. android:max="100"定义进度的最大值

6.android:progress="20"设置默认进度

7.android:secondaryProgress="30"设置第二层进度条的初始值(用于精确模式)

    一级进度是播放的进度,二级进度是缓存的进度

ProgressBar中一些常用的方法

    setProgress(int) 设置第一进度

    setSecondaryProgress(int) 设置第二进度

    getProgress() 获取第一进度

    getSecondaryProgress() 获取第二进度

    incrementProgress(int) 增加或减少第一进度

    incrementSecondaryProgress(int) 增加或减少第二进度

    getMax() 获取最大进度

SeekBar

1. android:thumb 设置滑块的图样

2. android:progressDrawable  设置进度条的图样

<!--android:thumb="@mipmap/ic_gou"设置滑块的图样,可以是图形也可以是图片-->
<!--android:progressDrawable="@mipmap/ic_e"设置滚动条的样式,可以是图形也可以是图片-->

SeekBar事件监听

sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    //拖动的进度
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        Log.i("hh",progress+"");
    }
    //开始拖动
    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        Toast.makeText(MainActivity.this, "开始拖动", Toast.LENGTH_SHORT).show();
    }
    //结束拖动
    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        Toast.makeText(MainActivity.this, "结束拖动", Toast.LENGTH_SHORT).show();
    }
});

给SeekBar设置图形(在res_drawable中创建xml)

设置进度条

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!--底色-->
    <item android:id="@android:id/background">
        <shape>
            <solid android:color="#ccc"></solid>
        </shape>
    </item>
    <!--一级进度-->
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="#4945F3"></solid>
            </shape>
        </clip>
    </item>
    <!--二级进度-->
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="#3AFA25"></solid>
            </shape>
        </clip>
    </item>
</layer-list>

设置滑动按钮

<?xml version="1.0" encoding="utf-8"?>
<shape
    android:shape="oval"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#3AFA25"/>
    <size android:height="25dp" android:width="25dp"/>

    <!--android:shape="oval"形状为椭圆-->
    <!--<solid android:color="@color/colorAccent"/>填充内部颜色-->
<!--    <size android:height="5dp" android:width="5dp"/>圖形的大小-->
</shape>

再把布局那边设置一下

<SeekBar
    android:id="@+id/sb"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:thumb="@drawable/huadong"
    android:progressDrawable="@drawable/cengci"
    android:secondaryProgress="30"
    />

效果(可能会有点丑)


猜你喜欢

转载自blog.csdn.net/lixiaona_1101/article/details/80828793