드 롭 다운 메뉴 모드 사용자 정의 - spinner 와 setDropDownView Resource 의 응용

4117 단어 Spinner
Android 에서 제공 하 는 Spinner Widget 의 드 롭 다운 메뉴 는 이미 매우 잘 사용 되 고 스타일 도 적 용 됩 니 다. 그러나 이 섹 션 의 Demo 는 드 롭 다운 메뉴 의 스타일 을 사용자 정의 하 는 데 중점 을 두 고 있 습 니 다. 그 관건 은 setDropDownView Resource 방법 을 호출 하여 드 롭 다운 메뉴 가 표시 할 모양 을 XML 로 정의 하 는 것 입 니 다.
 
Step 1: 새로운 안 드 로 이 드 프로젝트 를 만 듭 니 다. 우 리 는 SpinnerDemo 라 고 명명 합 니 다.
Step 2: layot 폴 더 를 열 고 main. xml 를 찾 아 내용 을 다음 으로 변경 합 니 다.
<?xml version="1.0" encoding="utf-8"?>
 
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 
android:orientation="vertical"
 android:padding="10dip" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">
 
<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
 android:layout_marginTop="10dip" 
android:text="Please select a planet:" 

/>
 
 <Spinner  
android:id="@+id/spinner" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:drawSelectorOnTop="true" 
 android:prompt="@string/planet_prompt" 
 
/>  
 
</LinearLayout>
 
   :  
the Spinner's android:prompt   
is a string resource. In this case, Android does not allow it to be a string, it must 
be a reference to a resource. So... 
 Step 3 
:   res/values/string.xml, 
       (   
)  : 
 
 
<?xml version="1.0" encoding="utf-8"?>
 
<resources> 
<string name="hello">Hello World, SpinnerDemo!</string> 
<string name="app_name">SpinnerDemo</string> 
 <string name="planet_prompt">Choose a planet</string>  
</resources>
 
 
 
 Step 4 
: res/values/ 
        xml 
  ,   arrays.xml:  
 
 
 <resources> 
 
 
 <string-array name="planets"> 

<item>Mercury</item> 
<item>Venus</item> 
<item>Earth</item> 
<item>Mars</item>
<item>Jupiter</item> 
<item>Saturn</item> 
<item>Uranus</item> 
<item>Neptune</item> 
 </string-array>  

  </resources>  
 
       Spinner Widget  list     . 
 
 
 Step5 
:  SpinnerDemo.java 
,      :
 
 
 
package com.android.test;
 
import android.app.Activity;
 
import android.os.Bundle;
 
 import android.widget.ArrayAdapter;
 
import android.widget.Spinner; 
 
 
public class SpinnerDemo  
extends Activity{
 
public void onCreate(Bundle savedInstanceState) {
 
super.onCreate(savedInstanceState);
 
setContentView(R.layout.main); 
 
 Spinner s = (Spinner) findViewById(R.id.spinner);
 
ArrayAdapter adapter = ArrayAdapter.createFromResource(
 
this, R.array.planets, android.R.layout.simple_spinner_item); 
 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
s.setAdapter(adapter);  
 
}
 
}

좋은 웹페이지 즐겨찾기