Android seekbar滑块显示不全问题解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31796651/article/details/84833607

本来想实现下图效果:

可实际自己写的确实下图的效果(注意红框位置):


解决方法:

在SeekBar中添加下面属性,值必须设置0dp
android:thumbOffset="0dp"

下面再说下seekbar的基本使用吧,也给自己记录下:


seekbar的xml文件:

1、maxHeight和minHeight值保持一样控制进度条的高度
2、progressDrawable显示进度条底色、缓冲、播放进度对应的颜色
3、thumb自定义滑块的图片

  <SeekBar
                android:id="@+id/sb_progress"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:max="100"
                android:maxHeight="6dp"
                android:minHeight="6dp"
                android:paddingEnd="0dp"
                android:paddingStart="0dp"
                android:thumbOffset="0dp"
                android:progressDrawable="@drawable/seekbar_videoplay_style"
                android:thumb="@mipmap/media_thumb" />

对应的进度颜色文件seekbar_videoplay_style.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="@color/white_degree_60" />
        </shape>
    </item>
    <!--缓冲进度色-->
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="@color/tt_white" />
            </shape>
        </clip>
    </item>
    <!--播放进度色-->
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="@color/tt_yellow" />
            </shape>
        </clip>
    </item>

</layer-list>

seekbar的滑动监听

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            //seekbar进度改变调用
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
            //手接触seekbar的时候调用
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
             //手离开seekbar的时候调用  
            }
        });

seekbar的简单使用就这些。over

猜你喜欢

转载自blog.csdn.net/qq_31796651/article/details/84833607
今日推荐