Android UI 컨트롤 의 Spinner 드 롭 다운 목록 효과

드 롭 다운 목록-Spinner 는 목록 항목 을 표시 하 는 데 사 용 됩 니 다.단일 선택 단추 인 RadioButton 과 유사 합 니 다.Spinner 의 사용 은 사용자 의 체험 성 을 크게 향상 시 킬 수 있 습 니 다.사용자 가 선택 할 때 드 롭 다운 목록 항목 을 제공 하여 사용자 에 게 선택 할 수 있 습 니 다.
구체 적 으로 드 롭 다운 목록 은 어떻게 이 루어 졌 을 까?
API 를 찾 아 보면 Spinner 가 AdapterView 를 계승 한 다 는 것 을 알 수 있 기 때문에 데이터 원본 은 Adapter 를 통 해 이 루어 져 야 합 니 다.
일반적으로 Spinner 의 데이터 원본 은 배열 일 수도 있 고 XML 파일 일 수도 있 습 니 다.
1.배열 을 데이터 소스 로 한다.
이런 실현 방식 은 비교적 간단 하 다.먼저 효과 도 를 올 려 라.

 xml 파일 코드;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:orientation="vertical" > 
 
  <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Spinner  "  
    android:layout_gravity="center_horizontal"/> 
  <TextView  
    android:id="@+id/result" 
    android:text="    :" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 
  <Spinner  
    android:id="@+id/spinner" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 
 
</LinearLayout> 
MainActivity 파일 코드:

package com.kiritor.ui_spinner; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.TextView; 
 
public class MainActivity extends Activity { 
 
  private TextView result = null; 
  private Spinner spinner = null; 
  private ArrayAdapter<String> adapter = null; 
  private static final String [] langurage ={"    ","  ","c  ","c++  ","java  "}; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    result = (TextView)findViewById(R.id.result); 
    spinner = (Spinner)findViewById(R.id.spinner); 
    adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,langurage); 
    //         
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    //       spinner   
    spinner.setAdapter(adapter); 
    spinner.setVisibility(View.VISIBLE);//       
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
      // TODO Auto-generated method stub 
      result.setText("     :"+((TextView)arg1).getText()); 
       
       
    } 
    @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
        // TODO Auto-generated method stub 
         
      } 
    }); 
     
  } 
 
  @Override 
  public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
  } 
 
} 
 2.xml 파일 을 데이터 원본 으로 합 니 다.
먼저 효과 도 를 올 려 주세요:

데이터 원본 xml 파일:         

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
  <string-array name="langurage"> 
    <item>    </item> 
    <item>    </item> 
    <item>c  </item> 
    <item>c++  </item> 
    <item>java  </item> 
    <item>Android  </item> 
  </string-array> 
</resources> 
xml 파일:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:orientation="vertical" > 
 
  <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Spinner  "  
    android:layout_gravity="center_horizontal"/> 
  <TextView  
    android:id="@+id/result" 
    android:text="    :" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 
  <Spinner  
    android:id="@+id/spinner" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 
 
</LinearLayout> 
MainActivity

package com.kiritor.ui_spinner; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.TextView; 
 
public class MainActivity extends Activity { 
 
  private TextView result = null; 
  private Spinner spinner = null; 
  private ArrayAdapter<CharSequence> adapter = null; 
   
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    result = (TextView)findViewById(R.id.result); 
    spinner = (Spinner)findViewById(R.id.spinner); 
    <span style="color:#FF0000;">adapter = ArrayAdapter.createFromResource(this,R.array.langurage,android.R.layout.simple_spinner_item);</span> 
    //         
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    //       spinner   
    spinner.setAdapter(adapter); 
    spinner.setVisibility(View.VISIBLE); 
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
      // TODO Auto-generated method stub 
      result.setText("     :"+((TextView)arg1).getText()); 
       
       
    } 
    @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
        // TODO Auto-generated method stub 
         
      } 
    }); 
     
  } 
 
  @Override 
  public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
  } 
 
} 
오늘 은 여기까지 입 니 다.spinner 의 사용자 정의 용법 과 Spinner 의 실제 용법 예 를 들 어 다음 에 다시 이야기 하 겠 습 니 다!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기