Android SeekBar是一种ProgressBar 。触摸搜索栏上的拇指并将其向右或向左拖动时,进度的当前值会更改。 SeekBar用于前进或后退歌曲,视频等。setOnSeekBarChangeListener接口用于提供三种方法。
- onProgressChanged :在此方法中,更改进度,然后根据此更改在我们的逻辑中使用进度值。
- onStartTrackingTouch :在此方法中,当用户开始拖动时,将自动调用此方法。
- onStopTrackingTouch :在此方法中,当用户停止拖动时,将自动调用此方法。
以下是创建SeekBar Android应用程序的步骤:
- 第1步:创建一个新项目。之后,您将拥有Java和XML文件。
- 步骤2:打开您的xml文件,并添加SeekBar和TextView作为消息,如下所示,SeekBar中的max属性定义了它可以使用的最大值。将ID分配给SeekBar和TextView。
- 步骤3:现在,打开活动Java文件,然后定义SeekBar和TextView变量,使用findViewById()获取SeekBar和TextView。
- 步骤4:执行搜索栏更改侦听器事件,该事件用于获取进度值。通过使用此事件侦听器,我们可以获得Prograss的值,并通过使用TextView显示进度,这将增加大小。
- 步骤5:现在运行该应用程序并触摸拇指,然后将其拖动,文本大小将自动增加。
MainActivity的完整代码。 SeekBar的Java或activity_main.xml如下所示:
activity_main.xml
MainActivity.java
package org.geeksforgeeks.navedmalik.seekbar;
// Import the libraries
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
// Define the global variable
SeekBar seekbar;
TextView Text_message;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Binding the layout to the file
setContentView(R.layout.activity_main);
// use findViewById() to get the Button
Text_message
= (TextView)findViewById(R.id.message_id);
seekbar
= (SeekBar)findViewById(R.id.seekbar);
// Get the progress value of the SeekBar
// using setOnSeekBarChangeListener() method
seekbar
.setOnSeekBarChangeListener(
new SeekBar
.OnSeekBarChangeListener() {
// When the progress value has changed
@Override
public void onProgressChanged(
SeekBar seekBar,
int progress,
boolean fromUser)
{
// increment 1 in progress and
// increase the textsize
// with the value of progress
message.setTextSize(progress + 1);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar)
{
// This method will automatically
// called when the user touches the SeekBar
}
@Override
public void onStopTrackingTouch(SeekBar seekBar)
{
// This method will automatically
// called when the user
// stops touching the SeekBar
}
});
}
}
输出: