【问题标题】:how to set seek bar in android with default values..?如何使用默认值在android中设置搜索栏..?
【发布时间】:2014-10-16 08:25:05
【问题描述】:

SeekBar 的最大值是 100,那么如何将Seekbar 的值默认设置为 50(从 50% 开始)。搜索栏将从 50 开始。

我有一个示例代码,但它会从 0 到 100 开始。 如果您有任何想法,请回答我... 谢谢。

     public class MainActivity extends Activity implements OnSeekBarChangeListener{
     private SeekBar bar; // declare seekbar object variable
     // declare text label objects
     private TextView textProgress,textAction;
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState)
     {
    super.onCreate(savedInstanceState);
    // load the layout
    setContentView(R.layout.activity_main);     
    bar = (SeekBar)findViewById(R.id.seekBar1); // make seekbar object
    bar.setOnSeekBarChangeListener(this); // set seekbar listener.
    // since we are using this class as the listener the class is "this"

    // make text label for progress value
    textProgress = (TextView)findViewById(R.id.textViewProgress);
    // make text label for action
    textAction = (TextView)findViewById(R.id.textViewAction);

    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) {
    // TODO Auto-generated method stub

    // change progress text label with current seekbar value
    textProgress.setText("The value is: "+progress);
    // change action text label to changing
    textAction.setText("changing");
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
    textAction.setText("starting to track touch");

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
    seekBar.setSecondaryProgress(seekBar.getProgress());
    textAction.setText("ended tracking touch");     
    }

     }

【问题讨论】:

标签: android


【解决方案1】:

在 XML 中:

android:progress="50" // or any other value 

在 Java 中:

mSeekbar.setProgress(50); // or any other value 

如果您不知道最大值是多少,只想使其 50%

mSeekbar.setProgress(mSeekbar.getMax()/2);

【讨论】:

  • @krishnan u 欢迎并很高兴我能提供帮助:),如果它回答了你的问题,请接受答案:)
【解决方案2】:

查看this,您可以这样做

 seekBar.setMax(0);
 seekBar.setMax(100);
 seekBar.setProgress(50);

在 xml 中你可以这样做 android:progress="50"

【讨论】:

  • 不应该是seekBar.setMin(0);吗?
【解决方案3】:

在设置进度值之前设置一次 MaxValue。这样,系统就知道必须对搜索栏的多少比例进行着色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 2013-04-29
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多