SeekBar的用法和自定义滑块的样式

SeekBar继承自ProgressBar,所以基本一样,我们自定义一般也就是顶一个滑块的图片而已。

布局文件

复制代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.kale.seekbar.MainActivity" >

    <!--  android:thumb="@drawable/ic_launcher" 设置滑块的图片 -->
    <SeekBar
        android:id="@+id/seekBar_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:thumb="@drawable/ic_launcher"
        android:layout_marginTop="74dp" /></RelativeLayout>
复制代码

MainActivity.java

复制代码
package com.kale.seekbar;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.SeekBar;
import android.widget.Toast;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends ActionBarActivity {

    SeekBar sBar;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        sBar = (SeekBar)findViewById(R.id.seekBar_id);
        sBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            private int progress = 0;
            @Override
            public void onStopTrackingTouch(SeekBar arg0) {
                System.out.println(progress);
                Toast.makeText(getApplicationContext(),"当前进度 = "+progress, 0).show();
            }
            
            @Override
            public void onStartTrackingTouch(SeekBar arg0) {
            }
            
            @Override
            public void onProgressChanged(SeekBar arg0, int p, boolean arg2) {
                progress = p; 
            }
        });
    }


}
复制代码
posted @   developer_Kale  阅读(7833)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
网站流量统计工具
点击右上角即可分享
微信分享提示