선택 가능한 항목(버튼, 리스트, 그리드 내 항목)을 커스텀하여 개발하면, 해당 항목의 선택 여부를 사용자에게 알려주기 위헤 터치 동작에 반응하도록 제작하는 것이 좋습니다.
일반적으로, 항목의 배경에 StateListDrawable(XML 리소스에서는 <selector>)를 사용하면 원하는 결과를 얻을 수 있습니다. 하지만, 하위 뷰가 배경을 가린다면 배경에서 표시되는 터치 피드백이 가려져 사용자에 대한 효과가 떨어집니다.
또한, appcompat-v7 라이브러리에서 선택 가능한 항목의 터치 피드백을 플랫폼 버전에 맞춰 쉽게 표시할 수 있도록 ?attr/selectableItemBackground 라는 속성을 제공하고 있는데, 배경에 이 속성을 적용할 경우 해당하는 뷰에 다른 색상이나 모양, 혹은 이미지를 배경으로 함께 지정할 수 없어 레이아웃을 원하는 대로 구성할 수 없습니다.
'안드로이드 개발 팁 > UI' 카테고리의 다른 글
EditText에 inputFilter와 maxLength를 함께 적용하려면? (0) | 2016.02.10 |
---|---|
커스텀 뷰의 초기화 코드를 깔끔하게 작성하는 방법 (0) | 2016.02.04 |
RecyclerView에서 스크롤바를 표시하는 방법 (1) | 2015.07.16 |
선택 가능한 항목(리스트, 버튼)의 배경에 머티리얼 디자인 적용하기 (0) | 2015.03.12 |
TextView에 외부 폰트 적용하기 (Typeface) (13) | 2012.02.16 |