안드로이드(Android) 기본 스피너(spinner)
1.java 소스
public class Ex07_SpinnerActivity extends Activity implements
OnItemSelectedListener {
ArrayList<String> arraylist;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
arraylist = new ArrayList<String>();
arraylist.add("data0");
arraylist.add("data1");
arraylist.add("data2");
arraylist.add("data3");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, arraylist);
//스피너 속성
Spinner sp = (Spinner) this.findViewById(R.id.spinner);
sp.setPrompt("골라봐"); // 스피너 제목
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Toast.makeText(this, arraylist.get(arg2), Toast.LENGTH_LONG).show();//해당목차눌렸을때
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
2.xml 소스
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
스피너도 종류가 있는데 일단 기본적인 스피드 추가 방법!
다음에는 스피너 종류, 버튼종류, 스피너 속성 에대해서 !!
안드로이드[Android] 다이얼로그(Dialog) 속성정리
1) Back키 눌렀을 경우 Dialog Cancle 여부 설정
2) Dialog 호출시 배경화면이 검정색으로 바뀌는 것 막기 !
3) Dialog 밖을 터치 했을 경우 Dialog 사라지게 하기
4) Dialog 밖의 View를 터치할 수 있게 하기 (다른 View를 터치시 Dialog Dismiss)
5) Dialog 자체 배경을 투명하게 하기
6) Dialog Cancle시 Event 받기
7) Dialog Show시 Event 받기
8) Dialog Dismiss시 Event 받기
import android.app.Activity; import android.app.Dialog; import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnDismissListener; import android.content.DialogInterface.OnShowListener; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.widget.Toast; public class MainActivity extends Activity { private Dialog mDialog = null ; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); createDialog(); } public void onClick(View v) { switch (v.getId()) { case R.id.btn_click: Toast.makeText(MainActivity. this , "Activity Button 입니다." , Toast.LENGTH_SHORT).show(); case R.id.btn_ok: dismissDialog(); break ; case R.id.btn_cancle: dismissDialog(); break ; default : break ; } } private void createDialog() { final View innerView = getLayoutInflater().inflate(R.layout.dialog, null ); mDialog = new Dialog( this ); mDialog.setTitle( "Title" ); mDialog.setContentView(innerView); // Back키 눌렀을 경우 Dialog Cancle 여부 설정 mDialog.setCancelable( true ); // Dialog 생성시 배경화면 어둡게 하지 않기 mDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); // Dialog 밖을 터치 했을 경우 Dialog 사라지게 하기 // mDialog.setCanceledOnTouchOutside(true); // Dialog 밖의 View를 터치할 수 있게 하기 (다른 View를 터치시 Dialog Dismiss) mDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); // Dialog 자체 배경을 투명하게 하기 // mDialog.getWindow().setBackgroundDrawable // (new ColorDrawable(android.graphics.Color.TRANSPARENT)); // Dialog Cancle시 Event 받기 mDialog.setOnCancelListener( new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { Toast.makeText(MainActivity. this , "cancle listener" , Toast.LENGTH_SHORT).show(); } }); // Dialog Show시 Event 받기 mDialog.setOnShowListener( new OnShowListener() { @Override public void onShow(DialogInterface dialog) { Toast.makeText(MainActivity. this , "show listener" , Toast.LENGTH_SHORT).show(); } }); // Dialog Dismiss시 Event 받기 mDialog.setOnDismissListener( new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { Toast.makeText(MainActivity. this , "dismiss listener" , Toast.LENGTH_SHORT).show(); } }); mDialog.show(); } private void dismissDialog() { if (mDialog != null && mDialog.isShowing()) { mDialog.dismiss(); } }
|
블로그
Powered by Blogger.