본문 바로가기

프로그래밍245

[Android] XMl파일을 만들지 않고 Dialog에 ProgressBar 띄우는 코드 private var dialog: Dialog? = null val linearLayout = LinearLayout(context) linearLayout.gravity = Gravity.CENTER linearLayout.setBackgroundColor(Color.TRANSPARENT) val progressBar = ProgressBar(context) linearLayout.addView( progressBar, ViewGroup.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT ) ) dialog = Dialog(context) dialog?.requestWindowFeature(Wind.. 2022. 9. 5.
[Android] 커스텀 다이얼로그를 열때 Bundle로 값을 넘겨주기 열려는 다이얼로그 클래스는 반드시 DialogFragment를 상속해야한다!! 먼저 다이얼로그를 화면가득찬 상태로 만들기 위해 style.xml에 테마를 만든다 styles.xml DialogClass라는 DialogFragment를 상속하는 클래스를 열때 특정 값을 넘겨줘야하는 경우가 생긴다. 이럴때 DialogClass안에 public으로 변수를 생성한 후에 DialogClass().let안에 [it.변수명 = "test"]와 특정값을 넣어 사용할수있지만 public으로 사용하는것은 효율적이지도 않고 번거롭다. 필자는 bundle을 이용해 넘기는법을 몰랐을때 해당 방식을 사용했는데 불편하더라.. 무엇보다 가끔 it.변수명 안에 값이 안들어갈때가 있더라 -> 이건 왜이런지 모르겠다.. 이럴때는 bund.. 2022. 9. 2.
[Android] Dialog 뒷 배경 검정색으로 나오지않게하기 DialogFragment의 View뒤에 배경색(검은색) 없에기 dialog?.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) DialogFragment의 View뒤에 배경색 주기 dialog?.window?.setDimAmount(0.3F) // 뒷 배경 30% dim 처리 2022. 9. 1.
[Android] ProgressBar 배경색 투명하게 필자는 ProgressBar를 사용할때 Dialog를 새로 띄워서 해당 다이얼로그에 ProgressBar를 나오게 하는 방법을 선호하는데 -> XML마다 일일이 ProgressBar를 생성하지않아도됨 ProgressBar 배경색을 투명하게 하고싶은데 흰색으로 나올때 투명하게 나오게 하는 코드이다. Dialog의 window를 투명한 색으로 변경하면 ProgressBar 뒤의 배경이 투명으로 나온다. R.color.transparent -> #00000000 , 즉 투명하게 해줌 dialog!!.window!!.setBackgroundDrawableResource(android.R.color.transparent) 위 이미지를 보면 ProgressBar주위만 흰색 배경으로 나와서 이질감이 든다. 위 코드를.. 2022. 9. 1.