스피너(Spinner)란 말이 좀 생소한데요... 우리가 흔히 콤보박스라고 말하는 것과 비슷한 기능을 합니다.
다음은 스피너의 실행모습입니다.
[ Spinner 의 실행 모습 ]
안드로이드 개발자 사이트의 내용을 토대로 살펴보겠습니다.
1. 이클립스에서 다음과 같이 프로젝트를 생성합니다.
2. 이클립스에서 왼쪽 프로젝트 탐색기에서 res -> layout -> 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>
위의 코드 중에서 굵은 글씨로 된 android:prompt 는 spinner가 실행되서 선택할 때 맨 윗부분에 나타나는 문자열 부분을 지정하기 위해 사용합니다. (다음 그림을 참조하세요.)
위의 그림과 같이 Choose a planet 를 출력하기 위해서는 strings.xml 파일을 편집해야 합니다.
3. 왼쪽 프로젝트 탐색기에서 res -> values -> string.xml 파일에 다음 코드를 덮어 씁니다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloSpinner!</string>
<string name="app_name">HelloSpinner</string>
<string name="planet_prompt">Choose a planet</string>
</resources>
위 코드에서 굵은 부분이 새로 추가된 부분입니다.
4. Spinner에 나타날 item들을 정의하는 array.xml 을 추가합니다.
프로젝트 탐색기에서 res -> value 폴더에서 마우스 오른쪽 버튼을 눌러 array.xml 을 생성합니다.
( 다음 그림을 참조하세요 )
위 그림에서 Other를 선택합니다.
위 그림에서 XML을 선택합니다.
위 그림에서 File name 에 arrays.xml 을 입력하고 Finish를 누릅니다.
생성된 arrays.xml 에 다음 코드를 붙여 넣기 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<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>
5. 왼쪽 프로젝트 탐색기에서 src -> my.HelloSpinner -> HelloSpinner.java 파일을 열어서 다음 코드를 붙여넣기 합니다.
package my.HelloSpinner;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class HelloSpinner extends Activity {
/** Called when the activity is first created. */
@Override
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);
}
}
6. Ctrl + F11 로 실행합니다.
다음은 실행결과 입니다.
[ Item 들이 펼쳐진 모습 ]
실행후 Spinner 를 클릭하면 선택할 수 있는 item 목록이 나타나고 그 중 하나를 선택할 수 있습니다.
출처 : http://moozi.tistory.com/45
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드] 갤럭시S soundpool 2번 재생 (0) | 2011.01.04 |
---|---|
안드로이드 구글맵 Couldn't get connection factory client 에러 (2) | 2010.12.13 |
안드로이드 EditText 읽기전용으로 만들기 (0) | 2010.12.06 |
안드로이드 RadioButton / CheckBox 이미지 변경하기. (0) | 2010.12.06 |
안드로이드 위젯 - CheckBox, RadioGroup, RadioButton (0) | 2010.12.06 |
안드로이드 DatePicker, TimePicker (2) | 2010.12.05 |
android URLConnection을 이용하여 웹서버에 POST방식요청 예제[스크랩] (0) | 2010.12.05 |
안드로이드 버튼 상태에 따라 배경이미지 바꾸기 (0) | 2010.12.04 |
안드로이드 GPS상태 체크후 설정화면 바로가기 (0) | 2010.12.03 |