2013년 10월 30일 수요일

Spinner widget customizing

이전 블로그에서 이전 함 (원본 글 2013/10/30 작성)

Spinner을 사용할 경우 android app theme에 맞춰 설정된 대로만 보여지는 관계로
별도의 App GUI에 맞춰 가야 할 경우 style 변경이 필요함.

style 변경은 action bar 의 style 수정과 유사하게 android widget의 SpinnerItem Style을 상속하여 수정하고 Spinner의 Adapter에 설정 하면 됨.


*참고로 ArrayAdapter 설정 시 spinner style이 오타임.


Create a custom adapter with a custom layout for your spinner.
Spinner spinner = (Spinner) findViewById(R.id.pioedittxt5);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.travelreasons, R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
R.layout.simple_spinner_item
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="@style/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee" />
R.layout.simple_spinner_dropdown_item
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="@style/spinnerDropDownItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/dropdownListPreferredItemHeight"
    android:ellipsize="marquee" />
In styles add your custom dimensions and height as per your requirement.
 <style name="spinnerItemStyle" parent="android:Widget.TextView.SpinnerItem">

  </style>

  <style name="spinnerDropDownItemStyle" parent="android:TextAppearance.Widget.TextView.SpinnerItem">

  </style>
share|improve this answer



Spinner를 수정한 예제

댓글 없음:

댓글 쓰기