आप जैसे पूरी तरह से कस्टम स्पिनर डिजाइन बना सकते हैं
Step1: drawable folder में spinner की बॉर्डर के लिए background.xml बनाते हैं।
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent" />
<corners android:radius="5dp" />
<stroke
android:width="1dp"
android:color="@android:color/darker_gray" />
</shape>
Step2: स्पिनर के लेआउट डिजाइन के लिए इस ड्रॉप-डाउन आइकन या किसी भी छवि ड्रॉप का उपयोग करें। पीएनजी
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="3dp"
android:layout_weight=".28"
android:background="@drawable/spinner_border"
android:orientation="horizontal">
<Spinner
android:id="@+id/spinner2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:gravity="center"
android:layout_marginLeft="5dp"
android:spinnerMode="dropdown" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:src="@mipmap/drop" />
</RelativeLayout>
अंत में छवि के नीचे दिखता है और यह गोल क्षेत्र में हर जगह क्लिक करने योग्य है और छवि दृश्य के लिए क्लिक लिस्टर लिखने की आवश्यकता नहीं है।
Step3: ड्रॉप-डाउन डिज़ाइन के लिए, ड्रॉपडाउन लिस्ट व्यू से लाइन हटा दें और पृष्ठभूमि का रंग बदल दें, जैसे कस्टम एडाप्टर बनाएँ
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
String[] years = {"1996","1997","1998","1998"};
ArrayAdapter<CharSequence> langAdapter = new ArrayAdapter<CharSequence>(getActivity(), R.layout.spinner_text, years );
langAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown);
mSpinner5.setAdapter(langAdapter);
लेआउट फ़ोल्डर में R.layout.spinner_text.xml बनाएं
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layoutDirection="ltr"
android:id="@android:id/text1"
style="@style/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:paddingLeft="2dp"
/>
लेआउट फ़ोल्डर में simple_spinner_dropdown.xml बनाएं
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:singleLine="true" />
शैलियों में, आप अपनी आवश्यकता के अनुसार कस्टम आयाम और ऊंचाई जोड़ सकते हैं।
<style name="spinnerItemStyle" parent="android:Widget.TextView.SpinnerItem">
</style>
<style name="spinnerDropDownItemStyle" parent="android:TextAppearance.Widget.TextView.SpinnerItem">
</style>
अंत में जैसा दिखता है
आवश्यकता के अनुसार, आप simple_spinner_dropdown.xml की पृष्ठभूमि रंग या पाठ रंग बदलकर पृष्ठभूमि रंग और ड्रॉप-डाउन रंग का पाठ बदल सकते हैं