728x90
dialog를 이용하여 특정 동작을 통해 액티비티 내부에 팝업창을 띄울 수 있다.
https://www.youtube.com/watch?v=SmsshpB1O38&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=17
(1) activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btn_dialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="다이얼로그"/>
<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize = "40sp"
android:text = "테스트"/>
</LinearLayout>
버튼을 눌러 다이얼로그 팝업창을 띄우고 팝업창 내에서 내용을 입력하면 textview 내용이 바뀌도록 설계할 것이다.
(2) MainActivity.java
package com.example.dialogexample;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
Button btn_dialog;
TextView tv_result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_dialog = (Button)findViewById(R.id.btn_dialog);
tv_result = (TextView)findViewById(R.id.tv_result);
btn_dialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder ad = new AlertDialog.Builder(MainActivity.this);
ad.setIcon(R.mipmap.ic_launcher);
ad.setTitle("제목");
ad.setMessage("태윤입니까?");
final EditText et = new EditText(MainActivity.this);
/// dialog 안에다가 et 객체를 view로 추가하기
ad.setView(et);
ad.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String result = et.getText().toString();
tv_result.setText(result);
dialog.dismiss();
}
});
ad.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
ad.show();
}
});
}
}
● dialog 버튼 눌러서 팝업창 띄우기
setOnclickListener 함수를 통해 버튼을 누르면 팝업창이 띄워지도록 한다.
ad라는 AlertDialog 객체를 한 개 생성해준다.
ad의 아이콘은 기본 안드로이드 앱 아이콘을 사용하고, 제목은 '제목'으로 하고, 팝업창 메세지는 '태윤입니까?'로 한다.
EidText인 et도 추가하여 setView함수를 통해 팝업창에 띄운다.
"확인" 버튼을 만들어 et에 입력한 문자열을 tv_result에 입력되게 한다.
"취소" 버튼을 누르면 걍 팝업창을 끈다.
마지막에 ad.show();를 해야 팝업창이 뜬다.
※ 실행화면
'study & bootcamp > 안드로이드 앱 스터디' 카테고리의 다른 글
[Android App 개발 스터디] #17 Service 백그라운드 음악 (0) | 2021.08.13 |
---|---|
[Android App 개발 스터디] Notification 예제 (0) | 2021.08.13 |
Android App 개발 스터디 #15 Thread & Handler 사용법 (0) | 2021.08.10 |
Android App 개발 스터디 #12 RecyclerView편 및 RecyclerView 입력 글자가 표시되도록 바꾸어보기 (0) | 2021.08.04 |
Android App 개발 스터디 #14 Log출력 및 주석 다는 법 (0) | 2021.08.04 |