어제 RecyclerView를 이용해서 리스트 구현중에 스크롤뷰가 나타나지 않아서 고생을 했던 적이 있다.
다음은 안드로이드 개발자 센터에 나와있는 RecyclerView 사용법중 일부분이다.
https://developer.android.com/training/material/lists-cards.html
<!-- A RecyclerView with some commonly used attributes -->
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:scrollbarSize="" //스크롤바 사이즈
android:scrollbarStyle="" //스크롤바 스타일
android:fadeScrollbars="false" //스크롤바가 사라지는지 여부
그런데 암만 해도 스크롤바가 나타나지 않는것이다.
그래서 이것저것 건들여보다가 갑자기 생각난게 테마였다.
다음은 안드로이드 개발자 센터에 나와있는 마테리얼 디자인이다.
http://developer.android.com/design/material/index.html
안드로이드가 제공하는 기본 테마는 세가지로
@android:style/Theme.Material (dark version)
@android:style/Theme.Material.Light (light version)
@android:style/Theme.Material.Light.DarkActionBar
인데 나는 액션바의 글자와 아이콘 색을 하얀색으로 하기 위해서 android:style/Theme.Material (dark version) 테마를 사용했고 기본 화면을 흰색으로 하기 위해서 background에 하얀색을 맞춰논 상태였다.
그리고 다음은 마테리얼 디자인의 색 부분인데
http://www.google.com/design/spec/style/color.html#color-ui-color-application
검은색 테마를 사용했으므로 text와 icon 색은 왼쪽의 white에서 가져온다.
즉 스크롤바의 색은 #FFFFFF의 12% 였던 것이다.
하얀색 위에 하얀색(알파)를 올려놓으니 당연히 보일리가 없는 것이었다..
해결방법은 간단했다. 테마를 @android:style/Theme.Material.Light.DarkActionBar으로 바꾸면서 해결되었다.
앞으로를 뷰가 잘 보이지 않을때는 다른 뷰에 겹쳐서 그런건 아닐까 생각해보자.
'Android' 카테고리의 다른 글
Java finished with non-zero exit value 2 - Android Gradle (0) | 2015.08.28 |
---|---|
스크롤뷰가 아닌 곳에서 스크롤 동작을 구현해보자! (2) | 2015.02.05 |
Notification을 통한 Activity 중복 실행 문제. (0) | 2015.01.21 |
Activity에서 onPause() 전에 무조건 onUserLeaveHint() 가 수행될 경우. (0) | 2015.01.21 |
AndroidStudio 설치하기 (0) | 2015.01.14 |