本文共 3784 字,大约阅读时间需要 12 分钟。
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(); } }); }}
效果图:
项目下载:
代码如下:
文件夹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(); } }); }}