반응형 adjustResize3 View가 크기변화를 감지하도록 하는 방법 (addOnLayoutChangeListener) 리스트뷰가 들어간 앱을 만들다 보면, 키보드가 위로 올라오는 경우,화면사이즈가 줄어들어서 전체 리스트 뷰의 아이템이 다 보이도록 해야합니다. 대부분의 경우는 Manifest에서,android:windowSoftInputMode="adjustResize" 를 설정해줌으로 전체 화면사이즈가 줄어들어 해결되지만,경우에 따라서 키보드가 올라갈 경우에는 특정 View를 보이지 않도록 하는 경우도 있습니다. 이 때는 키보드가 올라가면서, 화면의 사이즈가 줄어들었다는 것을 감지하여,그 여부에 따라서, 특정 View의 visiblity를 조절해주면 됩니다. 오늘은, RecyclerView가 화면사이즈 변화를 감지하여서,그 변화에 따라서 특정 뷰를 보이지 않도록 하는 방법에 대해서 정리해 보도록 하겠습니다. 참고로 Vi.. 2017. 7. 26. Keyboard 가 보이는지 알수 있게 해주는 ViewTreeObserver 앱을 만들다 보면, 키보드(softKeyboard)가 화면에 올라가 있는지 아닌지 알아야 할 때 가 있는데요.오늘은 어떻게 하면 화면을 측정해서, 키보드가 올라가는지 내려가 있는지 알 수 있는지에 관해서 정리해 보도록 하겠습니다.(언젠가 구글에서 Keyboard의 show/hide 상태를 얻어올 수 있는 API가 생기면 좋겠다는 바람이 있네요) 1. XML 작업 먼저 EditText를 넣어서 키보드를 올릴경우에 어떻게 되는지 보도록 하겠습니다.EditText를 넣어주고, 추가적으로 최상단 부모View에 id를 아래이미지와 같이 넣어줍니다. 또한 manifest파일에서 keyboard 가 올라갈 경우에 화면에 resize되도록 해주기 위해 adjustResize와, 앱시작후에 키보드가 나타나있지 않도록 s.. 2017. 6. 10. ScrollView 에서 하단에 뷰를 붙일 때 필요한 fillViewport 안드로이드 앱을 만들다 보면, 스크롤 뷰 가장 하단에 광고라든가, 확인 취소 버튼을 넣어야 하는 경우가 있습니다.그런데, 디폴트로 스크롤 뷰의 자식뷰가 항상 View의 전체 면적을 차지하지 않고 있기 때문에,가장 하단에 위치해야 하는 광고 혹은 확인 취소 버튼이 위로 올라가 붙어있습니다. 물론, RelativeVIew를 사용해서 하단에 항상 위치시킬 수 도 있지만,원하지 않는 결과가 나올수도 있으므로 항상 Relative로 해결할 수는 없습니다. 이럴 때 어떻게 해야할지 실제로 구현해 보면서 정리하겠습니다. 1. 기본 UI 구현 먼저 스크롤 뷰의 ChildLayout에 LinearLayout을 넣고, 그 안에 주황색 View와 입력을 받을 수 있는 EditText를 위치시킵니다.이 때, layout_we.. 2017. 6. 7. 이전 1 다음