Android
토스트, 다이얼로그, 스낵바 - id만 참조
Raccoon2125
2020. 10. 28. 18:01
※ 참고 webnautes.tistory.com/1224
Android Snackbar vs Toast 예제
간단한 메시지를 보여주기 위해 사용되는 Snackbar와 Toast의 동작을 비교해보는 예제 코드입니다. Toast는 지정한 일정시간이 지나야 화면에서 사라지지만 Snackbar의 경우에는 사용자의 입력에
webnautes.tistory.com
package com.example.myalarm;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.google.android.material.snackbar.Snackbar;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setButton();
}
private void setButton() {
findViewById(R.id.btnToast).setOnClickListener(this);
findViewById(R.id.btnSnackBar).setOnClickListener(this);
findViewById(R.id.btnSnackBar2).setOnClickListener(this);
findViewById(R.id.btnDialog).setOnClickListener(this);
findViewById(R.id.btnDialog2).setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnToast) {
Toast.makeText(getBaseContext(), "TOAST!!!", Toast.LENGTH_SHORT).show();
} else if (v.getId() == R.id.btnSnackBar) {
Snackbar.make(v, "Snackbar!!!", Snackbar.LENGTH_SHORT).show();
} else if (v.getId() == R.id.btnSnackBar2) {
Snackbar.make(v, "Snackbar!!!", Snackbar.LENGTH_INDEFINITE)
.setAction("닫기", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
}).setActionTextColor(Color.RED).show();
} else if (v.getId() == R.id.btnDialog) {
new AlertDialog.Builder(this)
.setIcon(R.mipmap.ic_launcher)
.setTitle("Dialog")
.setMessage("메시지를 보여줍니다!!")
.setNeutralButton("닫기", null)
.setPositiveButton("네", null)
.setNegativeButton("아니오", null)
.show();
} else if (v.getId() == R.id.btnDialog2) {
new AlertDialog.Builder(this)
.setIcon(R.mipmap.ic_launcher)
.setTitle("Dialog")
.setMessage("메시지를 보여줍니다!!")
.setNeutralButton("닫기", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),"다이얼로그를 닫습니다.",Toast.LENGTH_SHORT).show();
}
})
.show();
}
}
}
/*
package com.example.myalarm;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.google.android.material.snackbar.Snackbar;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final int ids[] = {R.id.btnToast, R.id.btnSnackBar, R.id.btnSnackBar2,
R.id.btnDialog, R.id.btnDialog2};
for(int i = 0; i != ids.length; i++)
findViewById(ids[i]).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btnToast:
Toast.makeText(getApplicationContext(), "TOAST1", Toast.LENGTH_LONG).show();
break;
case R.id.btnSnackBar:
Snackbar.make(v, "Snackbar1", Snackbar.LENGTH_SHORT).show();
break;
case R.id.btnSnackBar2:
Snackbar.make(v, "Snackbar2", Snackbar.LENGTH_INDEFINITE)
.setAction("닫기", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}).setActionTextColor(Color.RED).show();
break;
case R.id.btnDialog:
new AlertDialog.Builder(this)
.setIcon(R.mipmap.ic_launcher)
.setTitle("Dialog1")
.setMessage("Dialog1_2")
.setNeutralButton("닫기", null)
.setPositiveButton("네", null)
.setNeutralButton("아니오", null)
.show();
break;
case R.id.btnDialog2:
new AlertDialog.Builder(this)
.setIcon(R.mipmap.ic_launcher_round)
.setTitle("Dialog2_round")
.setMessage("Dialog2_round2")
.setNeutralButton("닫기", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "다이얼로그를 닫습니다.", Toast.LENGTH_SHORT).show();
}
})
.show();
break;
}
}
}
*/
<?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="wrap_content"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/btnToast"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="토스트(TOAST)" />
<Button
android:id="@+id/btnSnackBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="스낵바(SNACK BAR)" />
<Button
android:id="@+id/btnSnackBar2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="스낵바(클릭)" />
<Button
android:id="@+id/btnDialog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="다이얼로그(DIALOG)" />
<Button
android:id="@+id/btnDialog2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="다이얼로그(클릭)" />
</LinearLayout>