Android SeekBar示例

时间:2020-02-23 14:29:15  来源:igfitidea点击:

在本教程中,我们将看到Android SeekBar示例。

SeekBar是ProgressBar的扩展。
我们可以向左或者向右拖动光标以选择正确的值。
它通常用于设置亮度或者音乐进度或者设置声音。

在Android中创建SeekBar非常容易。
只需执行以下步骤即可创建SeekBar。

第1步:创建项目

创建一个Android应用程序ProjectNamed"seekbarexampleapp"。

第2步:创建布局

更改RES - >布局 - > Activity_main.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/activity_main"
 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.theitroad.seekbarexampleapp.MainActivity">
 
 
 <SeekBar
 android:layout_width="300dp"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_alignParentTop="true"
 android:layout_marginTop="40dp"
 android:max="10"
 android:id="@+id/seekBar" 
 <TextView
 android:id="@+id/textView"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_below="@+id/seekBar"
 android:layout_marginLeft="29dp"
 android:layout_marginTop="14dp" 
</RelativeLayout>

第3步:创造主动度

更改src/main/packageName/mainActivity.java如下:

package com.theitroad.seekbarexampleapp;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.SeekBar.OnSeekBarChangeListener;
 
public class MainActivity extends AppCompatActivity {
 
    private SeekBar seekBar;
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        seekBar = (SeekBar) findViewById(R.id.seekBar);
        textView = (TextView) findViewById(R.id.textView);
        //Set default value to 0
        textView.setText(seekBar.getProgress() + "/" + seekBar.getMax());
        seekBar.setOnSeekBarChangeListener(
                new OnSeekBarChangeListener() {
                    int progress = 0;
                    @Override
                    public void onProgressChanged(SeekBar seekBar,
                                                  int progresValue, boolean fromUser) {
                        progress = progresValue;
                    }
 
                    @Override
                    public void onStartTrackingTouch(SeekBar seekBar) {
                    }
 
                    @Override
                    public void onStopTrackingTouch(SeekBar seekBar) {
                        //Display the value in textview
                        textView.setText("Progress : "+progress + "/" + seekBar.getMax());
                    }
                });
    }
 
 
}

我们正在从布局文件中获取小部件引用,然后使用seekbar的setseeekbarchangeListener方法为我们的SeekBar设置侦听器。