Filters.Java
public class Filters extends Activity implements OnSeekBarChangeListener{
private SeekBar PRICEbar,DISTANCEbar, RATINGbar; // declare seekbar object variable
// declare text label objects
private TextView PRICEtextProgress,DISTANCEtextProgress, RATINGtextProgress;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// load the layout
setContentView(R.layout.filters);
PRICEbar = (SeekBar)findViewById(R.id.PRICEseekBarID); // make seekbar object
PRICEbar.setOnSeekBarChangeListener(this);
PRICEbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
PRICEtextProgress = (TextView)findViewById(R.id.PRICEtextViewProgressID);
PRICEtextProgress.setText("Price:: Rs "+progress);
}
});
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (seekBar == PRICEbar)
PRICEtextProgress.setText("Price:: Rs "+progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
}
filters.xml
<LinearLayout 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:orientation="vertical" >
<RelativeLayout
Android:id="@+id/relativeLayoutforPRICE"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content" >
<TextView
Android:id="@+id/PRICEtextViewProgressID"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_alignParentTop="true"
Android:text="Price"
Android:textAppearance="?android:attr/textAppearanceLarge" >
</TextView>
<SeekBar
Android:id="@+id/PRICEseekBarID"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_below="@+id/textView1"
Android:layout_marginTop="26dp"
Android:max="100" >
</SeekBar>
</RelativeLayout>
</LinearLayout>
Merci!
Vous avez déjà défini la valeur maximale de la barre de recherche
Android:max="100"
Vous devez maintenant ajouter deux vues de texte à gauche et à droite de la barre de recherche. Utilisez Disposition relative et alignez les deux vues de texte gauche et droite sur le parent.
Brontok un indice a résolu mon problème ... Je veux aussi partager la réponse ... Il suffit de modifier le xml
<RelativeLayout
Android:id="@+id/relativeLayoutforPRICE"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content" >
<TextView
Android:id="@+id/PRICEtextViewProgressID"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_alignParentTop="true"
Android:text="Price"
Android:textAppearance="?android:attr/textAppearanceLarge" >
</TextView>
<SeekBar
Android:id="@+id/PRICEseekBarID"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_below="@+id/textView1"
Android:layout_marginTop="26dp"
Android:max="100" >
</SeekBar>
<TextView
Android:id="@+id/PRICEinitialvaluetextID"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_below="@+id/PRICEseekBarID"
Android:text="Rs 0" >
</TextView>
<TextView
Android:id="@+id/PRICEinitialvaluetextID"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_below="@+id/PRICEseekBarID"
Android:text="Rs 100" />
</RelativeLayout>
Tout d'abord, je pense que vous devriez étendre SeekBar
.
Deuxièmement, appelez canvas.drawText()
dans onDraw()
pour dessiner du texte avant SeekBar
et après SeekBar
.
De cette façon, vous pouvez actualiser le textView
dans votre rappel de méthode onDraw
check it out, vous avez implémenté les méthodes créées par OnSeekBarChangeListener et défini
public class Filters extends Activity implements OnSeekBarChangeListener{
PRICEbar.setOnSeekBarChangeListener(this);
et la ligne suivante, vous la remplacez par la nouvelle OnSeekBarChangeListener
PRICEbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
vous pouvez supprimer les implémentations OnSeekBarChangeListener et ces 3 méthodes vides de votre activité (onSeekBarChange, onStartTracking, onStopTracking)