2013-10-29 40 views
2

我设置了seek bar的属性。它达到在一个过程,但其过程不以1作为像在图像下面达到Seek Bar进度显示不正确

enter image description here

sbpassangers.setProgress(1); //set this at onCreate 

的xml:

<SeekBar 
     android:id="@+id/sBpassangers" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_toLeftOf="@+id/tvPassengers" 
     android:layout_toRightOf="@+id/ivPhone" 
     android:layout_weight="2" 
     android:paddingBottom="3dp" 
     android:paddingLeft="2dp" 
     android:paddingTop="3dp" /> 

Java代码:

sbpassangers.setProgress(1); 
    sbpassangers.setMax(sb1.getProgress()); 
    tvtaxipassangers.setText(Integer.toString(1)); 
    //sb1.setMax(9); 
    //sb1.setProgress(2); // Set it to zero so it will start at the left-most edge 
    sbpassangers.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      seekBar.setProgress(progress); 
     if(progress == 0){ 
      seekBar.setProgress(1); 
     } 
      tvtaxipassangers.setText(Integer.toString(seekBar.getProgress())); 

     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) {} 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) {} 

    }); 

应该是这样的:

enter image description here

请帮忙解决这个

+0

您是否使用过自定义绘图?如果是的话,你可以发布他们的XML? – Losiowaty

回答

6

交汇处两条线

sbpassangers.setProgress(1); 
    sbpassangers.setMax(sb1.getProgress()); 

sbpassangers.setMax(sb1.getProgress()); 
sbpassangers.setProgress(1); 

除非您定义进度可以采用的最大值,否则无法设置seekbar的进度。

+0

是的,这是正确的答案。感谢很多 – Rohit

+0

我会接受这是接下来的4分 – Rohit

+0

好的@Brontok ... :) – jyomin

1

搜索条是我们使用我们在定制的方式应用程序,它的重要组成部分。

请做一个示范项目,并按照下面的代码添加到您MainActivity

SeekbarActivity.java

package com.example.seekbarwidget; 


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

public class SeekbarActivity extends Activity { 
TextView textview; 
SeekBar seekbar; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_seekbar); 

     textview = (TextView)findViewById(R.id.textView); 
     seekbar = (SeekBar)findViewById(R.id.seekBar1); 
     seekbar.setMax(10); 
     seekbar.setProgress(5); 
     //initControls(); 

     seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

      @Override 
      public void onStopTrackingTouch(SeekBar seekBar) { 
      //add here your implementation 
      } 
      @Override 
      public void onStartTrackingTouch(SeekBar seekBar) { 
       //add here your implementation 
      } 
      @Override 
      public void onProgressChanged(SeekBar seekBar, int progress, 
       boolean fromUser) { 

      textview.setText(" value = " +Integer.toString(progress)); 
      } 
      }); 
    } 

} 


the activity_seekbar.xml is having following layout 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="vertical" > 

    <SeekBar 
     android:id="@+id/seekBar1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="15dp" 
     android:layout_marginTop="125dp" 
     android:indeterminate="false" 
     android:max="10" 
     android:paddingLeft="15dp" 
     android:paddingRight="15dp" 
     android:progress="5" 
     android:progressDrawable="@drawable/styled_progress" 
     android:secondaryProgress="5" 
     android:thumb="@drawable/thumbler_small" /> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="Show seekbar value" 
     android:textColor="#CD2134" 
     android:textSize="27px" 
     android:textStyle="bold" /> 

</LinearLayout> 

finally the styled_progress.xml inside drawable folder is having the lines 

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+android:id/SecondaryProgress" 
     android:drawable="@drawable/progress_cyan"/> 
    <item 
     android:id="@+android:id/progress" 
     android:drawable="@drawable/progress_red"/> 

</layer-list> 

Custom Seek Bar