Android 2015. 1. 30. 10:23

어제 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으로 바꾸면서 해결되었다.

앞으로를 뷰가 잘 보이지 않을때는 다른 뷰에 겹쳐서 그런건 아닐까 생각해보자.


posted by 수면시간보장
: