728x90
반응형
- [ pinslog/Log.daily() ][Android] Dialog 외부 영역 터치 가능하도록 설정하기2023-10-08 12:26:51안드로이드 다이얼로그를 생성하면 기본적으로 다이얼로그 바깥 영역은 터치할 수 없다. 이를 가능하게 하려면 다음과 같이 플래그를 설정/제거해주면 된다. window?.addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL) // 바깥 배경이 불투명해지는 것을 막음 window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) 결과 바깥 영역 터치를 가능하게 하고, 배경이 투명해지도록 설정했다. 터치가 가능한지 확인해보기 위해 버튼에 리스너를 달아 클릭 시 토스트가 뜨도록 해봤다. 버튼이 클릭 되는 것을 확인할 수 있다. 공부하며 작성된 글이라 잘못된 정보가 있을 수 있습니다. 말씀해주시면 수정하겠습니다. 감사합..
- [ pinslog ]요즘에는2023-10-07 11:54:24두번째 회사에 다닌지도 벌써 7개월이 다되어 간다. 요즘에는 사정상 개발보다는 외적인 일을 활발하게 하고 있는데...(각종 인증) 그래서일까 코드 볼 기회가 생기면 그렇게 소중할 수가 없다. ㅋㅋ 벌써 개발 일을 한지도 1년을 훌쩍 넘기고...2년을 바라보고 있는데 한번씩 뒤를 돌아보자면 똑바른 길을 걸어왔는가에 대한 의문이 들곤한다. 어떤 개발자가 그렇지 않겠냐만은 많은 고민이 드는 것도 사실이고... 이 고민은 나에 대한 의심에서부터 비롯된 것인가..하는 근본적인 고뇌도 빼놓을 수 없다. 암튼 이래저래 고민과 걱정이 많은 시기다. 그럴수록 내가 할 수 있는 것들에 집중해야한다고 생각하기 때문에! 나는 또 내가 할 수 있는 것들을 행하려고 한다. 그렇게 사이드 프로젝트 하나를 마무리 지어서, 플레이스토..
- [ Android/Android ][Android] Jetpack Compose 프로젝트 생성 + MainActivity 살펴보기2023-10-06 23:14:55기존 프로젝트와의 차이 build.gradle (:app) android { ... buildFeatures { compose true } } 폴더 구조 앱을 만들기 위한 리소스 (컬러, 테마 등) 가 res/values 가 아니라 패키지/ui 에 존재한다. 리소스에 접근하기 위해 xml에 접근하는 것이 아니라 kotlin 코드로 리소스를 생성하고, 접근할 수 있음을 의미한다. MainActivity xml 방식 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_m..
- [ Android/Android ][Android] Thread와 Coroutine2023-10-05 22:40:08val list = mutableListOf("포도", "메론", "딸기", "사과", "바나나") CoroutineScope(Dispatchers.Main).launch { list.forEach { item -> if (item == "딸기") { list.remove(item) Log.d(TAG, "1. ${list}") } } } CoroutineScope(Dispatchers.IO).launch { list.forEach { item -> if (item == "바나나") { list.remove(item) list.add("자두") Log.d(TAG, "2. ${list}") } } } /* 2023-04-03 21:19:20.540 2. [포도, 메론, 딸기, 사과, 자두] 2023-04-0..
- [ Android/Android ][Android] 커스텀뷰 만들기2023-10-04 22:38:31커스텀뷰 xml (view)에서의 모듈화는 CustomView로 해결이 가능하다. 이렇게 생긴 버튼이 있다. 이런 화면을 만들어야 한다고 할때, 저 버튼 네개를 복붙해서 만들면 되겠지? 라고 생각할 수 있다. 그렇지만 만약 어떤 수정사항이 생긴다면? 네번 수정을 해주어야 한다. 그러다 보면 그 과정에서 생기는 오류나 실수는 아주 자연스러운 수순이 된다. (경험담 이를 방지하고자 style을 사용했지만..좀 더 쌈빡한 방법은 없을까? 라고 생각이 되어질 때 쯤에서야 CustomView를 알게 되었다…….늦었다고 생각할 때가 가장 빠른 법 얼른 알아보자. 만들기 1. xml 작업하기 생성할 커스텀 뷰의 xml 작업을 먼저 진행해준다. 나의 경우 앞에 아이콘이 붙은 버튼을 하나 만들었다. 이제 여기서 아이콘과..
- [ pinslog/Log.daily() ][Android] 제약조건 프로그래밍 방식으로 변경하기 | How to move constraint programmatically2023-10-03 22:43:02제약조건 프로그래밍 방식으로 변경하기 updateLayoutParams를 이용한다. yourView.updateLayoutParams { topToBottom = targetViewId startToEnd = targetViewId bottomToTop = targetViewId // ... } 예시를 위해 텍스트 뷰 하나를 만들고, 제약조건을 아래와 같이 두었다. 현재는 화면 바깥에 존재하도록 되어 있다. 아무 버튼이나 클릭하면 해당 텍스트 뷰의 제약조건이 변경되도록 해주었다. private fun buttonClick() = View.OnClickListener { binding.testTextView.updateLayoutParams { topToBottom = binding.mediumJoinTe..
- [ pinslog/Log.daily() ][Android] Databinding Format Character2023-10-02 19:20:09데이터바인딩에서도 형식 문자를 이용해 값을 나타낼 수 있다. string.xml %s시 layout.xml android:text="@{String.format(@string/forecast_time, hourlyForecast.time)}" 공부하며 작성된 글이라 잘못된 정보가 있을 수 있습니다. 말씀해주시면 수정하겠습니다. 감사합니다. References
- [ pinslog/Log.daily() ][Android] 프로젝트 셋팅을 하며 생긴 오류 해결하기2023-10-01 11:57:18집단지성의 방 해커톤을 진행하기 위해 프로젝트 셋팅을 먼저 했다. (해커톤에 대한 것이 궁금하다면 아래 링크 참고) 집단지성의 방 : 1st Hackathon - Deep Into the Code 작년에 왔던 집단지성의 방(이하 집지방), 죽지도 않고 올해 또 왔습니다. 😂 사실 작년에 비해 올해는 활발한 활동을 이어나가진 못했습니다. 혈기왕성 열정만땅이었던 신입에서 어딘가 한풀 www.pinslog.com 프로젝트를 셋팅하면서 만난 오류와 해결 방법에 대해 간략하게 기록하려고 한다. 프로젝트 셋팅 안스 업데이트 이후 (지라프) 프로젝트를 생성하려고 하니 몇가지 눈에 띄는 점들이 있다. Activity를 선택할 때는 컴포즈가 가장 상단에 위치해있고, 선택지가 많이 간소화되었다고 느껴졌다. 그리고 Buil..
728x90
반응형