상세 컨텐츠

본문 제목

[android] 안드로이드 AlertDialog 다이얼로그 디폴트 기본테마 고정 설정(기본 AlertDialog이 모양이 문제가 있을때) 관련

스마트기기개발관련/안드로이드 개발

by AlrepondTech 2021. 4. 27. 16:47

본문

반응형

 

 

 

 

 

 

=======================

=======================

=======================

 

 

 

 

 

 

 

 

 

 

안드로이드 스튜디오로 오면서 안드로이드 AlertDialog 기본테마와 비슷한

"ThemeOverlay_AppCompat_Dialog_Alert" 테마를 적용해서 AlertDialog 모양을 고정 시켜 보자.

[기본AlertDialog 모양이 문제가 있을때 이렇게 테마를 가져와서 사용하면 깔끔하게 나온다.]

 

App -> build.gradle //아래 코드부분에 맞추어 추가해 주세요.

dependencies {

    def appcompat_version = "1.2.0"
    implementation "androidx.appcompat:appcompat:$appcompat_version"
    // For loading and tinting drawables on older versions of the platform
    implementation "androidx.appcompat:appcompat-resources:$appcompat_version"

}

 

gradle.properties //아래 코드부분에 맞추어 추가해 주세요.

android.useAndroidX=true

android.enableJetifier=true

 

res->values->style.xml

//설정되있는 테마를 그냥 가져와도 되지만 스타일에서 자신의 테마만 따로 만들겠습니다.

//기본만 쓸거기에 딱히 다른 옵션을 넣지 않았습니다.

<resources>

    <style name="AlertDialog" parent="ThemeOverlay.AppCompat.Dialog.Alert">
    </style>

</resources>

 

AlertDialog(버튼 하나)

 AlertDialog _ab = null;
 String _msg = "Test Dialog"
   
  //자신이 만든 "R.style.AlertDialog"를 넣어도 되고 기본설정"ThemeOverlay_AppCompat_Dialog_Alert" 
  //넣어서 다이얼로그를 생성해도 됩니다.
  _ab = new AlertDialog.Builder(ba, R.style.AlertDialog) //ThemeOverlay_AppCompat_Dialog_Alert
			.setMessage(_msg)
			.setPositiveButton("OK", new DialogInterface.OnClickListener(){
				  public void onClick(DialogInterface dialog, int which)
				  {
					  //TODO Auto-generated method stub
					  //수행함수, 코드
								
                      dialog.dismiss(); //누루면 사라짐
				   }
			})
			.show();
            
 //AlertDialog 창테두리에 컬러가 생기는데 안보이게 해줍니다.
 _ab.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

 

 

 

반응형

 

728x90

 

 

 

AlertDialog(버튼 두개)

 AlertDialog _ab = null;
 String _msg = "Test Dialog 2"
   
  //자신이 만든 "R.style.AlertDialog"를 넣어도 되고 기본설정"ThemeOverlay_AppCompat_Dialog_Alert" 
  //넣어서 다이얼로그를 생성해도 됩니다.
  _ab = new AlertDialog.Builder(ba, R.style.AlertDialog) //ThemeOverlay_AppCompat_Dialog_Alert
            .setMessage(_msg)
            .setPositiveButton("OK", new DialogInterface.OnClickListener(){
                  public void onClick(DialogInterface dialog, int which)
                  {
                      //TODO Auto-generated method stub
                      //수행함수, 코드
                      
                      dialog.dismiss(); //누루면 사라짐
                  }
            })
            .setNegativeButton("NO", new DialogInterface.OnClickListener(){
                  public void onClick(DialogInterface dialog, int which) 
                  {
                        // TODO Auto-generated method stub
                        //수행함수, 코드
                        
                        dialog.cancel();
                  }
            })
            .show();
            
 //AlertDialog 창테두리에 컬러가 생기는데 안보이게 해줍니다.
 _ab.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
 

 

 

 

=======================

=======================

=======================

 

 

 

 

반응형


관련글 더보기

댓글 영역