मैं सेक्करबार क्रमश: 50 और 20 की अधिकतम और न्यूनतम सीमा निर्धारित करना चाहता हूं।खोजबार को कैसे सीमित करें
SeekBar में प्रत्यक्ष विकल्प शीर्ष अधिकतम मूल्य प्रदान करता है, लेकिन इसके न्यूनतम मूल्य को 0 के बजाय 20 पर कैसे सेट किया जाए?
मैं सेक्करबार क्रमश: 50 और 20 की अधिकतम और न्यूनतम सीमा निर्धारित करना चाहता हूं।खोजबार को कैसे सीमित करें
SeekBar में प्रत्यक्ष विकल्प शीर्ष अधिकतम मूल्य प्रदान करता है, लेकिन इसके न्यूनतम मूल्य को 0 के बजाय 20 पर कैसे सेट किया जाए?
seekbar आप can set only max value.
<SeekBar android:id="@+id/SeekBar01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="50"/>
में और, आप सीधे seekbar करने के लिए न्यूनतम मूल्य निर्धारित नहीं कर सकते।
SeekBar mSeekbar = (SeekBar) findViewById(R.id.SeekBar01);
mSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
{
length_edit.setText(Integer.toString(progress + 20));
}
public void onStartTrackingTouch(SeekBar seekBar) {}
public void onStopTrackingTouch(SeekBar seekBar) {}
});
आप मिनट प्रगति आप मिनट के साथ जोड़ सकते हैं जो मैं करना चाहते हैं को देखने के रूप में - अपने मामले 20.
अधिकतम मूल्य 30 पर सेट करें और SeekBar से पढ़ने वाले मानों में 20 जोड़ें।
यह एकमात्र उत्तर है जिसका वांछित अधिकतम – Flynny75
यह करने के लिए सबसे आसान तरीका में सिर्फ अपने SeekBar
के लिए SeekBar.OnSeekBarChangeListener()
में सीमित करने के लिए है।
सबसे पहले, आपको न्यूनतम या डिफ़ॉल्ट मान के साथ फ़ील्ड बनाने की आवश्यकता है।
private int fillDefault;
एक Fragment
या onCreate
एक Activity
की की onCreateView()
में: फिर जब SeekBar
बनाने यह मान सेट
fillDefault = 20;
fillSeekBar.setProgress(fillDefault);
दूसरा, यह के लिए श्रोता को लागू:
fillSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// Notification that the progress level has changed.
if (progress < fillDefault){
seekBar.setProgress(fillDefault); // magic solution, ha
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// Notification that the user has started a touch gesture.
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// Notification that the user has finished a touch gesture.
}
});
यह काम करता है । सरल और भयानक: डी
यह समाधान आदर्श है जब आप पैडिंग को 0 डीपी पर छोड़ देते हैं और यह देखना चाहते हैं कि अंगूठे तलाशने वाले के अंत में ओवरलैप करें। अगर (प्रगति == 0) { seekBar.setProgress (1); } – PedroHidalgo
आप इस कोशिश कर सकते हैं:
seekBar.setMax(max_value-min_value);
उदाहरण के लिए,
public static int LENGTH_MIN_VALUE = 20;
public static int LENGTH_MAX_VALUE = 50;
SeekBar seekBar = (SeekBar) findViewById(R.id.passwordSeekBar);
seekBar.setMax(LENGTH_MAX_VALUE);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(progress <= Constract.PASSWORD_LENGTH_MIN_VALUE){
progress = Constract.PASSWORD_LENGTH_MIN_VALUE + progress;
}
String numberAsString = String.valueOf(progress);
seekNumberView.setText(numberAsString);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
});
मैं इस सवाल का जवाब यहां है: How to set seekbar min and max value।
सरल गणित के साथ आप न्यूनतम मान, अधिकतम मूल्य और यहां तक कि अपनी तलाशबार का चरण भी सेट कर सकते हैं।
आशा है कि इससे मदद मिलती है!
पर कोई प्रभाव नहीं पड़ता है, आपके कोड के लिए धन्यवाद, यह काम कर रहा है, इस तथ्य को छोड़कर, मैं जिस पाठदृश्य का उपयोग कर रहा हूं, वह प्रोग्री मूल्य निर्धारित करने के लिए उपयोग कर रहा है, ऐप दुर्घटनाग्रस्त हो जाता है। – iscavengers
क्षमा करें दोस्त, छुट्टी पर waz, dats y प्रतिक्रिया नहीं दी .. मैं upvoted और unacpetpeted डी जवाब ... आनंद लें – iscavengers
@Paresh: न्यूनतम तर्क निर्धारित करने के लिए अच्छा तर्क सेट करने के लिए अच्छा तर्क। महान। । । –