'[Android] - 개념/Message'에 해당되는 글 2건

  1. 2016.12.04 AlertDialog
  2. 2016.12.04 Toast

 

[ AlertDialog ]

 

1. 정의

   - 대화상자를 보여주는 가장 단순한 객체

 

2. 주요 메소스

   - setTitle() : 타이틀 설정

   - setMessage() : 메세지 내용 설정

   - setPositiveButton(), setNegativeButton() : 예, 아니오  - 버튼 설정

     . 이 메소드에는 OnclickListener()를 설정할 수 있다.

 

3. 사용예

   - button클릭 시 onButton1Clicked() Event가 호출 되어 대화상자를 띄워준다.

 

 

public class MainActivity extends AppCompatActivity {
    TextView textView1;
    String msg;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView1 = (TextView) findViewById(R.id.textView1);

    }

    /**
* 버튼을 눌렀을 때 대화상자 객체를 생성하는 메소드를 호출
     * @param v
     */
    public void onButton1Clicked(View v) {
        AlertDialog dialog = createDialogBox();
        dialog.show();
    }

    /**
     * 대화상자 객체 생성
     */
    private AlertDialog createDialogBox(){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("안내");
        builder.setMessage("종료하시겠습니까?");
        builder.setIcon(android.R.drawable.ic_dialog_alert);

        // 예 버튼 설정
        builder.setPositiveButton("예", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                msg = "예 버튼이 눌렀습니다. " + Integer.toString(whichButton);
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
            }
        });

        // 취소 버튼 설정
        builder.setNeutralButton("취소",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                msg = "취소 버튼이 눌렸습니다. " + Integer.toString(whichButton);
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
                //textView1.setText(msg);
            }
        });

        // 아니오 버튼 설정
        builder.setNegativeButton("아니오", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                msg = "아니오 버튼이 눌렸습니다. " + Integer.toString(whichButton);
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
            }
        });

        // 빌더 객체의 create() 메소드 호출하면 대화상자 객체 생성
        AlertDialog dialog = builder.create();

        return dialog;
    }

 

'[Android] - 개념 > Message' 카테고리의 다른 글

Toast  (0) 2016.12.04
Posted by 농부지기
,

Toast

[Android] - 개념/Message 2016. 12. 4. 18:59

 

[ Toast ]

 

1. Code

   - Toast.makeText(Context context, String message, int duration)

   - Context : 일반적으로 Context클래스를 상속한 액티비티를 사용

   -

 

2. 위치및 모양 변경

   - setGravity(int gravity, int xOffset, int yOffset)

   - setMargin(float horizontalMargin, float verticalMargin)

 

3. 추가 메소드

   - setView(Layout layout);  --토스트가 보이는 뷰 설정

   - show();  --토스트를 보여줌

 

4. 별도 Layout을 이용해서 Toast 보여주기

 

 

   [ 4.1 MainActivity.java ]

 

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void onButton1Clicked(View v) {
        // 토스트의 모양을정의하고 있는 레이아웃을 인플레이션합니다.
        LayoutInflater inflater = getLayoutInflater();
        View layout = inflater.inflate(R.layout.toastborder, (ViewGroup) findViewById(R.id.toast_layout_root));

        // 레이아웃의 텍스트뷰에 보여줄 문자열을 설정합니다.
        TextView text = (TextView) layout.findViewById(R.id.text);
        text.setText("Hello My Android!");

        // 토스트 객체를 만듭니다.
        Toast toast = new Toast(this);
        toast.setGravity(Gravity.CENTER, 0, -100);
        toast.setDuration(Toast.LENGTH_SHORT);

        // 토스트에 뷰를 설정합니다. 이 뷰가 토스트로 보여집니다.
        toast.setView(layout);
        toast.show();
    }
}

 

   [ 4.2 activity_main.xml ]

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="토스트 보여주기"
      android:textSize="20dp"
      android:onClick="onButton1Clicked" />

</RelativeLayout>

 

   [ 4.3 toastborder.xml ] - toast를 보여줄 Layout

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/toast_layout_root"
   android:orientation="horizontal"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:padding="10dp"
   >
   <TextView
      android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:padding="20dp"
      android:background="@drawable/toast"
      />
</LinearLayout>

 

   [ 4.4 toast.xml ]

    - 별도 xml을 이용해서 Toast 색상정의

   - /res/drawable/toast.xml

   - setView()메소드를 이용해 토스트 객체에 설정한다.

 

<?xml version="1.0" encoding="UTF-8" ?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle"
   >
   <stroke
      android:width="4dp"
      android:color="#ffffff00"
      />
   <solid
      android:color="#ff883300"
      />
   <padding
      android:left="20dp"
      android:top="20dp"
      android:right="20dp"
      android:bottom="20dp"
      />
   <corners
      android:radius="15dp"
      />
</shape>

 

'[Android] - 개념 > Message' 카테고리의 다른 글

AlertDialog  (0) 2016.12.04
Posted by 농부지기
,