के लिए शीर्ष/नीचे पैडिंग मैं एंड्रॉइड में स्पिनर के लिए पहली/आखिरी वस्तु के ऊपर/नीचे एक अतिरिक्त पैडिंग के लिए कैसे निर्दिष्ट करूं? नीचे गोल्ज का नमूना देखें (8 डीपी स्पेसिंग)। स्पिनर
स्पिनर
उत्तर
स्पिनर एकाधिक दृश्य प्रकारों का समर्थन नहीं करता है। Issue।
मैंने आपको अपनी सूची दिखाने के लिए संवाद का उपयोग करने का सुझाव दिया है।
संपादित
अपनी टिप्पणी के अनुसार इस question
एकमात्र समाधान यह एक प्रतीत होता है। मैंने इसे आपके लिंक का पालन किया।http://stackoverflow.com/a/16400899/519790 – multiholle
आपको अपने कस्टम लेआउट का उपयोग करके Spinner
के लिए कस्टम एडाप्टर बनाने की आवश्यकता है। इस प्रकार, आपको उचित मार्जिन/पैडिन के साथ एक लेआउट प्रदान करने की आवश्यकता है।
Spinner spinner = (Spinner) findViewById(R.id.myspinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.data, R.layout.spinner_item); adapter.setDropDownViewResource(R.layout.spinner_dropdown_item); spinner.setAdapter(adapter);
आपको एक मान्य उदाहरण here पा सकते हैं।
स्पिनर में प्रदर्शित वस्तुओं के लिए बस एक अलग लेआउट बनाएं।
कुछ इस
spinner_text_view.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/customTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="15dp"
android:text="@string/sample_list_item"
android:textColor="@android:color/black"
android:textSize="20sp" />
फिर अपनी गतिविधि/टुकड़ा में
, आप एक एडाप्टर (एक सरणी एडाप्टर इस मामले में सरल होने के लिए) बना सकते हैं की तरह है और उस के लिए इस लेआउट पारित एडाप्टर संदर्भ। अंत में उस एडाप्टर को स्पिनर पर सेट करें और आप वांछित परिणाम प्राप्त कर सकते हैं।
नमूना कोड।
private void setupSpinner() {
String[] sampleSpinnerItems = {"One", "Two", "Three", "Four", "Five"};
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this,
R.layout.spinner_text_view, sampleSpinnerItems);
sampleSpinner.setAdapter(spinnerAdapter);
}
उम्मीद है कि इससे मदद मिलती है।
नोट: spinner_text_view वह लेआउट फ़ाइल है जिसे आपने पहले बनाया था।
इससे मुझे अतिरिक्त पैडिंग नहीं मिलती है पहले और आखिरी वस्तु के बाद। – multiholle
आपको इस और कस्टम लेआउट के लिए कस्टम एडाप्टर की आवश्यकता है। आप 2 लेआउट का उपयोग कर सकते हैं। मान लीजिए कि आपके पास स्पिनर दिखाने के लिए एन तत्व हैं, आपके पास एन + 2 होगा। यदि स्थिति 0 (पहला तत्व) है या अंतिम तत्व आप खाली लेआउट दिखाएंगे अन्यथा आप अन्य लेआउट दिखाएंगे। खाली स्थान जो आप इस स्थान को बनाने के लिए उपयोग करेंगे
साथ आपकी समस्या हल आप Spinner
के लिए इस कस्टम Adapter
के प्रयोग से कर सकते हैं। यह इस तरह दिखेगा:
class YourAdapter extends BaseArrayAdapter<YourObject> {
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = inflater.inflate(R.layout.your_item, parent, false);
DropDownViewHolder holder = new DropDownViewHolder();
holder.root = convertView.findViewById(R.id.drop_down_root);
// other assignments etc.
convertView.setTag(holder);
}
DropDownViewHolder holder = (DropDownViewHolder) convertView.getTag();
int bottomPadding = 0;
int topPadding = 0;
if (position == 0) {
topPadding = getContext().getResources().getDimensionPixelSize(R.dimen.margin_8);
} else if (position == (getCount() - 1)) {
bottomPadding = getContext().getResources().getDimensionPixelSize(R.dimen.margin_8);
}
holder.root.setPadding(0, topPadding, 0, bottomPadding);
// other UI related logic etc.
return convertView;
}
// ...
public static class DropDownViewHolder {
View root;
// other views
}
}
असल में तर्क VISIBLE
करने के लिए कुछ ठूंठ दृश्य दृश्यता बदलने या स्थिति के आधार पर कुछ अन्य लेआउट बढ़ा-चढ़ाकर को बदला जा सकता है, लेकिन गद्दी के साथ समाधान मेरे लिए और अधिक प्राकृतिक लग रहा है।
- 1. स्पिनर
- 2. स्पिनर
- 3. स्पिनर
- 4. स्पिनर
- 5. स्पिनर
- 6. स्पिनर
- 7. स्पिनर
- 8. स्पिनर
- 9. स्पिनर
- 10. स्पिनर लटकती स्पिनर के ऊपर से शुरू
- 11. एंड्रॉयड स्पिनर: केंद्र पाठ खड़ी स्पिनर
- 12. स्पिनर .btn
- 13. स्पिनर तत्व
- 14. एंड्रॉइड स्पिनर
- 15. स्पिनर एंड्रॉयड
- 16. एंड्रॉइड: स्पिनर
- 17. एंड्रॉइड स्पिनर
- 18. स्पिनर एंड्रॉइड
- 19. एंड्रॉयड - स्पिनर कॉन्फ़िगर मैं अपने स्पिनर घोषित सरणी
- 20. एंड्रॉइड स्पिनर चयन
- 21. एंड्रॉइड स्पिनर सेट मान
- 22. एक्शनबार स्पिनर अनुकूलन
- 23. मूल्य पर स्पिनर
- 24. एस्प्रेसो गतिशील स्पिनर परीक्षण
- 25. मैं स्पिनर मूल्य
- 26. दो स्पिनर "सिंक्रनाइज़िंग"
- 27. पॉलिमर प्रीलोड स्पिनर
- 28. प्राइमफेस स्पिनर - चौड़ाई
- 29. jQueryUI स्पिनर विजेट नॉकआउट
- 30. मैं स्पिनर setOnItemLongClickListener
इन लिंक को आजमाएं [1 लिंक] (http://stackoverflow.com/questions/17407626/custom-layout-for-spinner-item) [2 लिंक] (http://stackoverflow.com/questions/8946893/ एंड्रॉइड-कस्टम-स्पिनर-लेआउट) [नमूना कार्यक्रम] (http://mrbool.com/how-to-customize-spinner-in-android/28286) उम्मीद है कि यह मदद पूर्ण –