'android button'에 해당되는 글 2건

  1. 2011.10.03 Android - Button & Dialogbox ( 버튼 클릭 시 대화상자 띄우기 )
  2. 2011.09.27 Android - Button & Image ( 버튼을 이용한 이미지출력 )

Android - Button & Dialogbox ( 버튼 클릭 시 대화상자 띄우기 )

Android 2011.10.03 17:56

버튼이나 이미지를 선택 했을 때
대화상자를 뿌려서 설명을 해주거나 안내 경고 문 등 원하는 내용을 보여줄 수 있습니다.
여기서 실습한 내용은 버튼3개와 이미지3개를 구성하여
선택했을 때 선택한 버튼과 이미지에 따라 다른 내용의 대화상자를 띄우는 것입니다.


대화상자를 띄우기 위해서 AlertDialog 클래스 사용합니다.
크게 사용하는 속성은 다음 두가지 입니다.
setTitle() ,  setMessage()  보시다시피 보여질 제목과 내용을 뜻 합니다.
또한 대화상자에서 확인이나 취소버튼을 눌렸을 때 일어나는 이벤트 처리는
setPositiveButton() 으로 합니다.

자 그럼 실습을 해보겠습니다.
여기서 다루는 내용에서는 메소드를 생성하여서 그안에서 처리하는 방법으로 했습니다.


프로젝트 생성

Project name : ExamButtonBox
Build Target : Android 2.1
Package name : jsh.exam.buttonbox
Create Activity : mainpage
Min SDK Version : 7


이미지 파일



Java 소스

mainpage.java


package jsh.exam.buttonbox;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class mainpage extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //선언부
       
        Button bt1 = (Button) findViewById (R.id.button1);
        bt1.setText("첫번째버튼");
        Button bt2 = (Button) findViewById (R.id.button2);
        bt2.setText("두번째버튼");
        Button bt3 = (Button) findViewById (R.id.button3);
        bt3.setText("세번째버튼");
       
        ImageView iv1 = (ImageView) findViewById (R.id.imageView1);
        ImageView iv2 = (ImageView) findViewById (R.id.imageView2);
        ImageView iv3 = (ImageView) findViewById (R.id.imageView3);
       
       
        //클릭이벤트
       
        bt1.setOnClickListener(this);
        bt2.setOnClickListener(this);
        bt3.setOnClickListener(this);
       
        iv1.setOnClickListener(this);
        iv2.setOnClickListener(this);
        iv3.setOnClickListener(this);
       
       
       
       
       
    }

 @Override
 public void onClick(View arg0) {
  // TODO Auto-generated method stub
  
  
  //버튼과 이미지가 선택 시 일어날 이벤트 처리
  switch(arg0.getId()) {
  
  case R.id.button1 :
   
   showdialog(this, "첫번째버튼눌림");
   
   break;
   
   
  case R.id.button2 :
   
   showdialog(this, "두번째버튼눌림");
   
   break;
   
   
  case R.id.button3 :
   
   showdialog(this, "세번째버튼눌림");
   
   break;
   
   
  case R.id.imageView1 :
   
   showdialog(this, "첫번째이미지눌림");
   
   break;
   
   
  case R.id.imageView2 :
   
   showdialog(this, "두번째이미지눌림");
   
   break;
   
   
   
  case R.id.imageView3 :
   
   showdialog(this, "세번째이미지눌림");
   
   break;  
  
  }
  
 }
 
 //대화상자 메소드
 
 private static void showdialog(final Activity activity,
   String text) {
  AlertDialog.Builder ad = new AlertDialog.Builder(activity);
  
  //뿌려질 내용
  ad.setMessage(text);
  ad.setCancelable(false);
  
//확인버튼눌렸을때 처리
  ad.setPositiveButton("확인", new DialogInterface.OnClickListener() {

   public void onClick(DialogInterface dialog, int whichButton) {

    activity.setResult(Activity.RESULT_OK);
    
    
    }
  });  

  ad.create();
  ad.show();
 }
 
}



XML 소스
main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="
http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button
  android:text="Button"
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
 <Button
  android:text="Button"
  android:id="@+id/button2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
 <Button
  android:text="Button"
  android:id="@+id/button3"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
 <ImageView
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:id="@+id/imageView1"
  android:background="@drawable/test1"></ImageView>
 <ImageView
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:id="@+id/imageView2"
  android:background="@drawable/test2"></ImageView>
 <ImageView
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:id="@+id/imageView3"
  android:background="@drawable/test3"></ImageView>
</LinearLayout>


실행 결과



실행 결과화면에 보듯이 버튼3개와 이미지3개가 화면에 구성되어 있고
그 중에 하나를 클릭 시 해당하는 내용을 대화상자로 화면에 뿌려줍니다.

저작자 표시
신고
Trackback 0 : Comment 0

Write a comment


Android - Button & Image ( 버튼을 이용한 이미지출력 )

Android 2011.09.27 15:17

글이 많이 늦었습니다.
교육 듣느라 취업준비하느라 많이 늦었습니다.

오늘은 간단하게 버튼을 이용해서 그림을 출력하는 것을 해보겠습니다.
UI구성은 버튼4개와 이미지뷰1개 텍스트뷰1개 이고
필요한 파일은 아무 이미지파일 4개를 준비하면 됩니다.

버튼에서 쓸 속성은 클릭이벤트처리
setOnClickListener
이미지뷰에 그림을 할당하는
setImageResource
텍스트뷰에 문자열을 할당하는
setText
입니다.


자 그럼 프로젝트를 생성해야겠지요.

Project name : ExamButtonImage
Build Target : Android 2.1
Package name : jsh.android.exambuttonimage
Create Activity : main
Min SDK Version : 7


프로젝트를 생성하시고 자신이 준비한 이미지파일을 먼저 넣어줍니다.
파일이름은 소문자영어로 Drawable-hdpi에 넣어줍니다.



그 다음 xml로 넘어가서 버튼4개와 이미지뷰 텍스트뷰를 생성합니다.


XML 소스

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <LinearLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:id="@+id/linearLayout1"
  android:orientation="horizontal">
  <Button
   android:id="@+id/button1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Button"></Button>
  <Button
   android:id="@+id/button2"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Button"></Button>
  <Button
   android:id="@+id/button3"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Button"></Button>
  <Button
   android:id="@+id/button4"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Button"></Button>
 </LinearLayout>
 <ImageView
  android:id="@+id/imageView1"
  android:layout_gravity="center"
  android:layout_width="200dp"
  android:layout_height="300dp"></ImageView>
 <TextView
  android:text="TextView"
  android:gravity="center"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/textView1"
  android:layout_gravity="center"></TextView>
</LinearLayout>



자바 소스

mainpage.java

package jsh.android.exambuttonimage;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class main extends Activity implements OnClickListener {

 Button bt, bt2, bt3, bt4;
 ImageView iv;
 TextView tv;

 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  // xml에 불러온 이미뷰를 bt에 넣어 속성사용 하기위한 구문
  bt = (Button) findViewById(R.id.button1);
  bt2 = (Button) findViewById(R.id.button2);
  bt3 = (Button) findViewById(R.id.button3);
  bt4 = (Button) findViewById(R.id.button4);

  // 버튼에 클릭이벤트 처리
  bt.setOnClickListener(this);
  bt2.setOnClickListener(this);
  bt3.setOnClickListener(this);
  bt4.setOnClickListener(this);

  // xml에 불러온 이미뷰를 iv에 넣어 속성사용 하기위한 구문
  iv = (ImageView) findViewById(R.id.imageView1);
  // xml에 불러온 텍스트뷰를 tv에 넣어 속성사용 하기위한 구문
  tv = (TextView) findViewById(R.id.textView1);

 }

 @Override
 public void onClick(View arg0) {
  // TODO Auto-generated method stub

  switch (arg0.getId()) {

  case R.id.button1:

   // 이미지뷰에 사진을 출력하는 구문
   iv.setImageResource(R.drawable.test1);
   // 텍스트뷰에 문자열 출력하는 구문
   tv.setText("test1 사진");

   break;

  case R.id.button2:

   iv.setImageResource(R.drawable.test2);
   tv.setText("test2 사진");

   break;

  case R.id.button3:

   iv.setImageResource(R.drawable.test3);
   tv.setText("test3 사진");

   break;

  case R.id.button4:

   iv.setImageResource(R.drawable.test4);
   tv.setText("test4 사진");

   break;

  }

 }
}


실행 결과



실행 결과는
버튼 4개에 연결된 이미지가
버튼을 누를 때 그림과 텍스트가 바뀌면 잘되는 것입니다.

수고하셨습니다.

 

 






 

저작자 표시
신고
Trackback 0 : Comment 0

Write a comment