[안드로이드]/[안드로이드] 공부 기록
[안드로이드] inflate, toast, snapbar, AlertDialog
노트포미
2023. 9. 25. 02:18
inflate
: 안드로이드에서 xml에 표기된 레이아웃들을 메모리에 로딩된 후 객체화 시키는 과정
-> layout에 다른 layout을 넣을 수 있음
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
LayoutInflater inflater = getLayoutInflater();
//toastborder : xml파일, toast_Layout_root : toastborder.xml의 최상위 레이아웃 id
View layout = inflater.inflate(R.layout.toastborder, (ViewGroup)findViewById(R.id.toast_Layout)root));
//text : toastborder.xml의 textView 아이디
TextView text = (TextView) layout.findViewById(R.id.text);
Toast toast = new Toast(getApplicationContext());
toast.setView(layout);
toast.show();
}
}
snapbar
: 토스트(toast)와 비슷하지만, 아래에서 올라오는 메시지
[사용법]
1. design 추가해야함
file -> Project Structure -> Modules(app) -> Dependencies -> "+"버튼 -> "com.android.support.design 추가
2. 실행 코드 작성
Snackbac.make(View v, "원하는 텍스트 입력", Snackbar.LENGTH_LONG).show();
*첫 인자 View의 역할 : ???
알림창(AlertDialog)
public void showMessage(){
AlertDialog.Builder builder = new AlertDialog.Builder(this); //this는 무엇을 가리킬까?
builder.setTitle("안내");
builder.setMessage("종료하시겠습니까?");
builder.setIcon(android.R.drawable.ic_diaLog_alert); //원하는 icon 지정
//Posivite 버튼 누른 경우
builder.setPositiveButton("예", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
//수행할 코드
}
});
builder.setNegativeButton("아니오", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
//수행할 코드
}
});
AlertDialog dialog = builder.create();
dialog.show();
}