Android开发如何更改SeekBar式样

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发如何更改SeekBar式样相关的知识,希望对你有一定的参考价值。

情况是这样的:使用ADT(eclipse)进行android开发,当我新建一个Android工程时,会同时生成一个appcompat_v7工程文件,然后看到工程中的控件式样如图一,主要是进度条SeekBar的式样是Android4.0的式样。如果不是新建一个新工程而是打开一个事例工程,没有appcompat_v7工程文件,然后工程中的控件式样如图二所示,主要还是进度条SeekBar,就像Android2.3.3式样。请问我要怎么弄才能将SeekBar的式样变为我新建的工程一样的式样?是不是和那个appcompat_v7工程文件有关?多谢各路大神了!

改变seekbar上的按钮通过设置android:thumb属性

改变seekbar的那个条设置android:progressDrawable属性

示例

按钮图片

<shape>
    <solid android:color="@android:color/black"/>
    <size android:width="2dp" android:height="10dp"/>
</shape>

进度条图片

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
<layer-list>
<item android:id="@android:id/background" >
    <shape >
        <gradient 
            android:startColor="#1DDA0B"
            android:centerColor="#F5DA0B"
            android:endColor="#D10000"
            android:centerX="0.2"/>
    </shape>
</item>
</layer-list>
    </item>
</selector>


给seekbar设置属性

<SeekBar
android:id="@+id/seek_aqi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_aqi_text"
 android:padding="0dp"
android:thumb="@drawable/seek_aqi_thumb"
android:progressDrawable="@drawable/seek_aqi_bg"
android:max="500"
android:maxHeight="5dp"
android:minHeight="5dp"
android:progress="70" />

效果

参考技术A 和你的theme有关。你弄成Theme.Light,就是图二的那种很丑的SeekBar了。追问

我是要弄成图一那种。我改过theme,开发界面显示式样是变回图一那种了,但生成APK后安装到手机又是图二那种很丑的式样(手机是4.1系统),请问究竟是怎么回事啊

追答

你看下你的theme是不是Theme.AppCompat.Light或者parent是Theme.AppCompat.Light的。

追问

您好我看了一下theme选项,没有找到Theme.AppCompat.Light,请问是怎么回事呢?

追答

Theme.Appcompat.Light需要用到support V7里面的appcomat library

当在视频视图android中使用seekbar时如何举杯?

我正在使用视频视图播放文件,当单击搜索栏或用来搜索显示当前视频时长的视频时,我需要举杯。有帮助吗?

答案

您可以这样使用-

在视频视图下方添加搜索栏。

seekBar = (SeekBar) findViewById(R.id.seek_bar);



videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() 
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) 
        seekBar.setProgress(0);
        seekBar.setMax(recVideo.getDuration());

    
);




seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 

    @Override
    public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) 


    

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) 
        // Show toast here
    

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) 

    

);

以上是关于Android开发如何更改SeekBar式样的主要内容,如果未能解决你的问题,请参考以下文章

如何从 seekbar Android Kotlin 更改字符串的长度

android开发中如何设置seekbar的最小值?

seekbar在运行时更改指针位置

Android开发中SeekBar的值改变后,系统如何得到其改变后的值

在 android 中使用 SeekBar 控制音量?

SeekBar与ProgressBar