2011-12-15 11 views
5

मैं जावा फ़ाइल में स्पिनर तक पहुंच रहा हूं, इसके इनपुट को सेट कर रहा हूं जो स्ट्रिंग सरणी है जो अमेरिकी राज्यों का नाम है। मैं स्पिनर में चुने गए राज्य में अपना आकार देना चाहता हूं? इसे कस्टम आकार कैसे दें?एंड्रॉइड स्पिनर आइटम के टेक्स्ट साइज को कैसे बदलें

Spinner state = (Spinner) findViewById(R.id.state); 
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
        this, R.array.state, android.R.layout.simple_spinner_item); 
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
      state.setAdapter(adapter); 

Xml: स्पिनर में दिखाना चाहते हैं

<Spinner 
android:id="@+id/state" 
android:layout_width="wrap_content" 
android:layout_height="60dip" 
android:layout_marginLeft="10dip" 
android:addStatesFromChildren="true" > 
</Spinner> 

स्ट्रिंग सरणी:

<string-array name="state"> 

     <item>Select State</item> 
     <item>Alabama</item> 
     <item>Alaska</item> 
     <item>American Samoa</item> 
     <item>Arizona</item> 
     <item>Arkansas</item> 
     <item>California</item> 
     <item>Colorado</item> 
     <item>Connecticut</item> 
     <item>Delaware</item> 
     <item>District of Columbia</item> 
     <item>Florida</item> 
     <item>Georgia</item> 
     <item>Guam</item> 
     <item>Hawaii</item> 
     <item>Idaho</item> 
     <item>Illinois</item> 
     <item>Indiana</item> 
     <item>Iowa</item> 
     <item>Kansas</item> 
     <item>Kentucky</item> 
     <item>Louisiana</item> 
     <item>Maine</item> 
     <item>Maryland</item> 
     <item>Massachusetts</item> 
     <item>Michigan</item> 
     <item>Minnesota</item> 
     <item>Mississippi</item> 
     <item>Missouri</item> 
     <item>Montana</item> 
     <item>Nebraska</item> 
     <item>Nevada</item> 
     <item>New Hampshire</item> 
     <item>New Jersey</item> 
     <item>New Mexico</item> 
     <item>New York</item> 
     <item>North Carolina</item> 
     <item>North Dakota</item> 
     <item>Northern Marianas Islands</item> 
     <item>Ohio</item> 
     <item>Oklahoma</item> 
     <item>Oregon</item> 
     <item>Pennsylvania</item> 
     <item>Puerto Rico</item> 
     <item>Rhode Island</item> 
     <item>South Carolina</item> 
     <item>South Dakota</item> 
     <item>Tennessee</item> 
     <item>Texas</item> 
     <item>Utah</item> 
     <item>Vermont</item> 
     <item>Virginia</item> 
     <item>Virgin Islands</item> 
     <item>Washington</item> 
     <item>West Virginia</item> 
     <item>Wisconsin</item> 
     <item>Wyoming</item> 
    </string-array> 

उत्तर

9

आप

adapter.setDropDownViewResource(android.R.layout.simple_list_item_1); 
उपयोग कर सकते हैं

इस कोड है

या आप इसे अपने लेआउट दे सकते हैं:

adapter.setDropDownViewResource(R.layout.my_layout); 

और अपने my_layout.xml इस तरह दिखना चाहिए: इस तरह एक स्वनिर्धारित एडाप्टर का उपयोग करने के लिए

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+android:id/text1" android:layout_marginTop="5dp" 
     android:layout_marginBottom="5dp" android:padding="3dp" 
     android:layout_width="fill_parent" android:layout_height="wrap_content" 
     android:gravity="center_horizontal"/> 
2

प्रयास करें,

 ArrayAdapter<String> spinner_adapter = new ArrayAdapter<String>(getParent() 
       .getApplicationContext(), R.layout.my_spinner_style,spinner_values) { 

      public View getView(int position, View convertView, ViewGroup parent) { 
       View v = super.getView(position, convertView, parent); 
       ((TextView) v).setTextSize(18); 

       return v; 
      } 

      public View getDropDownView(int position, View convertView, 
        ViewGroup parent) { 
       View v = super.getDropDownView(position, convertView, parent); 
       v.setBackgroundResource(R.drawable.spinner_drop_down); 
       ((TextView) v).setTextColor(Color 
         .parseColor(config.sort_by_label_color)); 
       return v; 
      } 
     }; 

आर .layout.my_spinner_style

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+android:id/text1" 
style="?android:attr/spinnerItemStyle" 
android:paddingLeft="5dip" 
android:singleLine="true" 
android:textColor="#ffffff" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:ellipsize="marquee" /> 

और अपने स्पिनर को यह एडाप्टर निर्धारित करते हैं,

 spinner.setAdapter(spinner_adapter); 
संबंधित मुद्दे