Android-SeekBar可滑动进度条

目标效果:

Android-SeekBar可滑动进度条_第1张图片    Android-SeekBar可滑动进度条_第2张图片

程序运行显示进度条在中间,手指滑动可更改进度条位置,并且显示在TextView上,当点击进度条按钮或者拖动时,按钮变为红色,抬起手指变为黑色。


1.activity_main.xml页面设置控件。

activity_main.xml页面:

<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=".MainActivity" >

    <SeekBar
        android:id="@+id/seekbar"
        android:thumb="@drawable/thumb"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:progress="50" />

    <TextView
        android:id="@+id/tvone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp" />

    <TextView
        android:id="@+id/tvtwo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="70dp" />

</RelativeLayout>


2.res文件夹下新建drawable文件夹,在里边新建thumb.xml页面,用于编写点击按钮替换图片的代码。
thumb.xml页面:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/red" android:state_pressed="true"/><!-- 是否被按下 -->
    <item android:drawable="@drawable/red" android:state_focused="true"/><!-- 是否取得焦点 -->
    <item android:drawable="@drawable/red" android:state_selected="true"/><!-- 是否被选中 -->
    <item android:drawable="@drawable/black"/>

</selector>


3.MainActivity.java页面编写拖动事件。
MainActivity.java页面:
package com.example.seekbar;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity implements OnSeekBarChangeListener{

	private SeekBar seekbar;
	private TextView tvone,tvtwo;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		seekbar=(SeekBar) findViewById(R.id.seekbar);
		tvone=(TextView) findViewById(R.id.tvone);
		tvtwo=(TextView) findViewById(R.id.tvtwo);
		
		seekbar.setOnSeekBarChangeListener(this);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
 		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	/*数值改变*/
	@Override
	public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
		tvtwo.setText("当前数值:"+progress);
		tvone.setText("正在拖动");
	}

	/*开始拖动*/
	@Override
	public void onStartTrackingTouch(SeekBar seekbar) {
		tvone.setText("开始拖动");
	}

	/*停止拖动*/
	@Override
	public void onStopTrackingTouch(SeekBar arg0) {
		tvone.setText("停止拖动");
	}

}


4.运行就可以显示目标效果了。


你可能感兴趣的:(android,Activity,拖动,进度条,seekbar)