博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SeekBar控件入门
阅读量:4289 次
发布时间:2019-05-27

本文共 3784 字,大约阅读时间需要 12 分钟。

        SeekBar控件是一个进度条的控件,我们再看视频或者听歌时,都能看到一个移动的进度条,而且还可以拖拽,就是今天我们要学习的这个控件,好了,现在开始学习。

api自带的SeekBar控件

效果图:

项目下载:

       

activity_main.xml中的代码:

MainActivity.java中的代码:

package com.test.seekbardemo;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.SeekBar;import android.widget.TextView;import android.widget.Toast;import android.os.Build;public class MainActivity extends Activity {	private SeekBar seekBar1;	private TextView textView1;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		bindViews();	}	private void bindViews() {		seekBar1 = (SeekBar) findViewById(R.id.seekBar1);		textView1 = (TextView) findViewById(R.id.textView1);		seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {			@Override			public void onProgressChanged(SeekBar seekBar, int progress,					boolean fromUser) {				//进度移动时,进入这个方法,每一小点 的改变都要来执行一次				//在这里给进度条下面的textView赋值,用于展示当前的进度刻度				textView1.setText("当前进度值是:" + progress + "  / 100 ");			}			@Override			public void onStartTrackingTouch(SeekBar seekBar) {				//鼠标点击进度条时,触发的事件				Toast.makeText(MainActivity.this, "点击SeekBar", Toast.LENGTH_SHORT)						.show();			}			@Override			public void onStopTrackingTouch(SeekBar seekBar) {				//鼠标松开进度条时,触发的事件				Toast.makeText(MainActivity.this, "放开SeekBar", Toast.LENGTH_SHORT)						.show();			}		});	}}

自定义SeekBar控件

效果图:

项目下载:

        

代码如下:

文件夹drawable下的seek_bar.xml代码如下:

文件夹drawable下的seek_thumb.xml代码如下:

activity_main.xml的代码:

MainActivity.java中代码:

package com.test.seekbardemo;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.content.Context;import android.content.res.ColorStateList;import android.graphics.Color;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.SeekBar;import android.widget.TextView;import android.widget.Toast;import android.os.Build;public class MainActivity extends Activity {	private SeekBar seekBar1;	private TextView textView1;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		bindViews();	}	private void bindViews() {		seekBar1 = (SeekBar) findViewById(R.id.seekBar1);		textView1 = (TextView) findViewById(R.id.textView1);		seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {			@Override			public void onProgressChanged(SeekBar seekBar, int progress,					boolean fromUser) {				if (progress > 30 && progress < 50) {					textView1.setTextColor(Color.GREEN);				} else if (progress >= 50 && progress < 80) {					textView1.setTextColor(Color.BLUE);				} else if (progress >= 80) {					textView1.setTextColor(Color.RED);				}else {					textView1.setTextColor(Color.BLACK);				}				textView1.setText("当前进度值是:" + progress + "  / 100 ");			}			@Override			public void onStartTrackingTouch(SeekBar seekBar) {				Toast.makeText(MainActivity.this, "点击SeekBar", Toast.LENGTH_SHORT)						.show();			}			@Override			public void onStopTrackingTouch(SeekBar seekBar) {				Toast.makeText(MainActivity.this, "放开SeekBar", Toast.LENGTH_SHORT)						.show();			}		});	}}

你可能感兴趣的文章
一直搞不清楚什么是读写分离,主从复制的原理,今天总算搞懂了
查看>>
消息队列 mq 必会面试题
查看>>
线程池的工作原理是啥?能手写一个线程池吗?
查看>>
一口气说出 6种 延时队列的实现方案,大厂offer稳稳的
查看>>
原来redis这么简单,跟着文章操作一遍你就会了
查看>>
Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)
查看>>
事务隔离级别中的可重复读能防幻读吗?
查看>>
老伙计,关于JDK并发包,这些不为人知的秘密你知道多少?
查看>>
图片的左右切换
查看>>
进级的RecyclerView——LRecyclerView
查看>>
Android 利用Gradle实现app的环境分离
查看>>
Android系统篇之----Binder机制和远程服务调用
查看>>
JavaScript DOM 属性
查看>>
Gradle 实现 Android 多渠道定制化打包
查看>>
Android开源项目及库整理总结
查看>>
Android快速开发系列 10个常用工具类
查看>>
深入理解JSON对象
查看>>
类似新浪微博帖子显示话题、@好友、表情解析等
查看>>
JSP 自动刷新
查看>>
Java应用架构的演化之路
查看>>