text_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@color/_727272" />
<item android:state_focused="true" android:color="@color/_727272" />
<item android:state_pressed="true" android:color="@color/_727272" />
<item android:color="@color/white" />
</selector>
layout.xml
<Button
android:id="@+id/cell_frag_home_ringstar_now_list_btn_popluar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/selector_home_btn_menu"/>
위와 같이 하면 적용 된다.
Java 단에서 하고자 한다면 아래 소스를 참고 하세요.
예) /res/color/selector_text.xml
1 2 3 4 5 6 | <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#ff0000"/> <item android:state_focused="true" android:color="#ff0000"/> <item android:color="#000000"/>; </selector> |
버튼이 xml layout 에 있는 경우는 그냥 android:textColor=”@color/selector_text.html” 로 지정해주면 되지만,
만약 java 안에서 프로그램적으로 세팅해 주는 경우는 다음과 같은 코드를 써야 한다.
1 2 3 | btnTest.setTextColor( getResources().getColorStateList(R.color.selector_text) ); |
이렇게 안 하고 그냥 getColor() 를 사용하면 버튼 터치 시 색 변화가 없다.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android] ViewPager + SwipeRefreshLayout (0) | 2015.12.22 |
---|---|
[Android] android.content.res.Resources$NotFoundException: String resource ID (0) | 2015.12.18 |
[Android] Recycler View 사이에 divider 크기 조절 (0) | 2015.12.17 |
[Android] RecyclerView Adpater Refresh (2) | 2015.12.17 |
[Android] Background partial concurrent mark sweep GC freed (8) | 2015.12.16 |