일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 다시 정리해야함
- 코틀린
- 알고리즘 인증_2주차
- recyclerview
- 알고리즘 인증
- 알고리즘 인증_1주차
- iPortfolio
- 다시봐
- 코딩테스트
- 취준기록
- foldindexed
- Filter
- array랑 list
- filternot
- 다시정리하기
- Today
- Total
목록Android [Kotlin] 💻🤍 (24)
Moments of growth
보호되어 있는 글입니다.
ViewTreeObserver로 View 측정하기 ViewTreeObserver를 통해서 리스너를 달고, 전체 ViewTree의 변화가 생길 때 시점을 알 수 있다. getRootView 메소드를 통해서 RootView의 높이와 최상단 부모 View의 높이를 서로 비교해서, 일정 크기(200dp)이상의 차이가 발생한다면 키보드가 올라왔다고 가정할 수 있다. mRootViewHeight와 mRelativeWrapperHeight는 px 단위의 값이므로 200dp를 px 단위로 변환해서 비교해야한다. dpToPx 함수 var mRootViewHeight = binding.clBg.rootView.height var mRelativeWrapperHeight = binding.clFirstApply.height..

갤러리에서 사진을 가져와서 프로필 사진을 다시 서버로 보내기! 며칠동안 수많은 구글링과 디버깅 끝에 성공했다. 헤더로 accesstoken을 받고, Body 값으로 File을 넣어줘야하는 API이다. MyPageService.kt interface MyPageService { @Multipart @POST("user/upload") fun postProfile( @Header("accesstoken") token: String, @Part file: MultipartBody.Part ): Call } @Multipart 어노테이션을 꼭 붙여줘야한다. Multipart란? Multipart는 HTTP를 통해 File을 Server로 전송하기 위해 사용되는 Content-type 이다. HTTP 프로토콜은 ..

cardView를 이용해서 그림자 elevation 효과 만들었다. elevation이 안 되는 경우를 검색해본 결과 보통 총 3가지 방법이 있었는데 android:elevation 값을 주고 android:background를 white로 줬고 그림자 그릴 공간을 확보하기 위해, 자식 뷰에 layout_margin 값을 주고 부모 뷰인 frameLayout에 padding 값+ clipToPadding=”false”을 줬다. 그런데도 elevation이 먹히질 않아서 다른 방법을 찾은 것이 cardView이다. 카드뷰로 cardElevation을 줬다. Reference) [안드로이드] 모서리가 둥근 ImageView | Round corner of ImageView CardView를 이용해서 모서리가..
RegisterActivity -> 회원가입 완료 후 뒤로 가기했을 때 스택에 남아있지 않게 함 val intent = Intent(this, RegisterNameIdActivity::class.java) intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY) //스택에 남지 않게 startActivity(intent) 주의할 점은 manifest에서 무조건 noHistory = "true" 라는 속성을 줘야한다. 예를 들어 a -> RegisterActivity -> c 순으로 진행인 경우 c에서 뒤로 가기를 누르면 a로 가게 된다. 이 프로젝트의 경우에서는 LoginMainActivity -> RegisterActivity(이메일, 비번 입력) -> RegisterN..

NestedScrollView에서 맨 밑에 있는 버튼을 bottom으로 제약을 주게 되면 키패드가 올라올 때 같이 따라 올라오게 되는 문제가 발생한다. android:windowSoftInputMode="adjustPan" 흔히 구글링해서 해결책으로 나오는 방법인데 scrollview에서는 적용되지 않는다. 그렇다고 scrollView를 안 쓸 수가 없었는데, 키보드가 올라올 때 자동으로 edittext가 가려지지 않게 올라가는 액션을 쓰기 위해서 scrollView를 포기할 수 없었다. 이 문제를 아래와 같이 해결했다. NestedScrollView 안에(cl_bg 안에) constraintLayout을 2개 넣은 구조 결론적으로 내용 작성하는 edittext와 다음 버튼 사이에는 일정한 간격이 최소한..
3가지 방법이 있다. android:scrollbarFadeDuration="0" android:scrollbars="vertical" android:fadeScrollbars="false" android:scrollbars="vertical" android:scrollbarDefaultDelayBeforeFade="500000" android:scrollbars="vertical" Reference) [android] 항상 스크롤 막대를 표시하는 방법 - 리뷰나라 스크롤보기의 스크롤 막대는 스크롤을 시작할 때만 보입니다. 항상 표시하려면 어떻게해야합니까? 답변 현재 가장 좋은 방법은 Java 코드 android:fadeScrollbars="false"와 동등한 xml 에서 사용 하는 것 daplus.net
보호되어 있는 글입니다.