Notice
Recent Posts
Recent Comments
Link
투케이2K
24. (TWOK/UTIL) [Android/Java] C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행 본문
투케이2K 유틸파일
24. (TWOK/UTIL) [Android/Java] C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행
투케이2K 2022. 3. 26. 22:22[설 명]
프로그램 : Android / Java
설 명 : 팝업창 표시 , UI 뷰 관련 표시 수행
[소스 코드]
package com.example.testapp;
import static android.content.Context.CLIPBOARD_SERVICE;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.NotificationManager;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;
import android.widget.Toast;
public class C_Ui_View {
/**
* TODO [클래스 설명]
* // -----------------------------------------
* 1. 팝업창 표시 , UI 뷰 관련 표시 수행
* // -----------------------------------------
* */
// TODO [빠른 로직 찾기 : 주석 로직 찾기]
/**
* // -----------------------------------------
* // [SEARCH FAST] : []
* // -----------------------------------------
*/
// TODO [팝업창 호출 처리 메소드]
public static void showAlert(final Context mContext, final int setType, String header, String content, String ok, String no, String normal) {
Log.i("---", "---");
Log.d("//===========//", "================================================");
Log.i("", "\n" + "[C_Ui_View >> showAlert() :: 팝업창 호출 실시]");
Log.i("", "\n" + "[setType :: " + String.valueOf(setType) + "]");
Log.i("", "\n" + "[header :: " + String.valueOf(header) + "]");
Log.i("", "\n" + "[content :: " + String.valueOf(content) + "]");
Log.d("//===========//", "================================================");
Log.i("---", "---");
// -----------------------------------------
/** [사용 방법 정의] */
/*
// [팝업창 호출 실시]
C_Ui_View.showAlert(
A_Main.this,
1, // [와이파이 설정창 이동 코드]
"알림",
"현재 연결된 네트워크가 없습니다. \n 설정에서 다시 확인해주세요.",
"설정",
"취소",
"");
// */
// -----------------------------------------
/** [파라미터 관련 설명] */
// 1. setType : 설정창 이동 여부 타입
// - [0 = 없음 / 1 = 와이파이 설정창 / 2 = 블루투스 설정창 / 3 = 위치 권한 설정창]
// - [4 = NFC 설정창 / 5 = 애플리케이션 설정창]
// 2. header : 팝업창 타이틀
// 3. content : 팝업창 내용
// 4. ok : 확인 버튼
// 5. no : 취소 버튼
// 6. normal : 노멀 버튼
// -----------------------------------------
// [타이틀 및 내용 표시]
final String Tittle = String.valueOf(header);
final String Message = String.valueOf(content);
// -----------------------------------------
// [버튼 이름 정의]
String buttonYes = String.valueOf(ok);
String buttonNo = String.valueOf(no);
String buttonNature = String.valueOf(normal);
// -----------------------------------------
try {
// [AlertDialog 팝업창 생성]
new AlertDialog.Builder(mContext)
.setTitle(Tittle) //[팝업창 타이틀 지정]
//.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
.setMessage(Message) //[팝업창 내용 지정]
.setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
.setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [확인 버튼 클릭 이벤트 처리]
if (setType == 0) {
// [일반 알림 표시]
}
if (setType == 1) {
C_Intent.goWifiIntent(mContext); // [와이파이 설정창 이동]
}
// -----------------------------------------
if (setType == 2) {
C_Intent.goBleSettingsIntent(mContext); // [블루투스 설정창 이동]
}
// -----------------------------------------
if (setType == 3) {
C_Intent.goGpsSettingsIntent(mContext); // [위치 설정창 이동]
}
// -----------------------------------------
if (setType == 4) {
C_Intent.goNfcIntent(mContext); // [NFC 설정창 이동]
}
// -----------------------------------------
if (setType == 5) {
C_Intent.goAppInfoIntent(mContext); // [애플리케이션 설정창 이동]
}
// -----------------------------------------
}
})
.setNegativeButton(buttonNo, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.setNeutralButton(buttonNature, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.show();
} catch (Exception e) {
//e.printStackTrace();
Log.i("---", "---");
Log.e("//===========//", "================================================");
Log.i("", "\n" + "[C_Ui_View >> showAlert() :: 팝업창 호출 실시]");
Log.i("", "\n" + "[catch [에러] :: " + String.valueOf(e.getMessage()) + "]");
Log.e("//===========//", "================================================");
Log.i("---", "---");
try {
// [토스트 알림 표시 수행]
Toast.makeText(mContext, Tittle + "\n" + Message, Toast.LENGTH_SHORT).show();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
// TODO [클립보드 복사 팝업창 호출 처리 메소드]
public static void showAlertCopy(final Context mContext, String header, String content, String ok, String no) {
Log.i("---", "---");
Log.d("//===========//", "================================================");
Log.i("", "\n" + "[C_Ui_View >> showAlertCopy() :: 클립보드 복사 팝업창 호출 실시]");
Log.i("", "\n" + "[header :: " + String.valueOf(header) + "]");
Log.i("", "\n" + "[content :: " + String.valueOf(content) + "]");
Log.d("//===========//", "================================================");
Log.i("---", "---");
// -----------------------------------------
/** [사용 방법 정의] */
/*
// [팝업창 호출 실시]
C_Ui_View.showAlertCopy(
A_Main.this,
"알림",
"메시지 내용을 복사합니다",
"확인",
"취소");
// */
// -----------------------------------------
// [타이틀 및 내용 표시]
final String Tittle = String.valueOf(header);
final String Message = String.valueOf(content);
// -----------------------------------------
// [버튼 이름 정의]
String buttonYes = String.valueOf(ok);
String buttonNo = String.valueOf(no);
// -----------------------------------------
try {
// [AlertDialog 팝업창 생성]
new AlertDialog.Builder(mContext)
.setTitle(Tittle) //[팝업창 타이틀 지정]
//.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
.setMessage(Message) //[팝업창 내용 지정]
.setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
.setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// -----------------------------------------
// TODO [확인 버튼 클릭 이벤트 처리]
try {
ClipboardManager clipboardManager = (ClipboardManager) mContext.getSystemService(CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("copy", Message); //TODO 클립보드에 copy 라는 이름표로 데이터를 복사하여 저장
clipboardManager.setPrimaryClip(clipData);
} catch (Exception e) {
//e.printStackTrace();
Toast.makeText(mContext, "copy error : " + String.valueOf(e.getMessage()), Toast.LENGTH_SHORT).show();
}
// -----------------------------------------
}
})
.setNegativeButton(buttonNo, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.show();
} catch (Exception e) {
//Toast.makeText(mContext, Tittle+"\n"+Message,Toast.LENGTH_SHORT).show();
//e.printStackTrace();
Log.i("---", "---");
Log.e("//===========//", "================================================");
Log.i("", "\n" + "[C_Ui_View >> showAlertCopy() :: 클립보드 복사 팝업창 호출 실시]");
Log.i("", "\n" + "[catch [에러] :: " + String.valueOf(e.getMessage()) + "]");
Log.e("//===========//", "================================================");
Log.i("---", "---");
}
}
} // TODO [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments