2012-10-13 4 views
8

Jake Wharton의 ViewpagerIndicator 라이브러리를 사용하고 있습니다. 나는 ActionBarSherlock 라이브러리와 함께 탭 코드를 사용하고있다. 모든 것이 잘 작동하지만 탭의 배경 스타일을 지정하려고 시도하고 있으며 그 방법을 파악할 수 없습니다. 어두운 탭과 가벼운 파편이있는 어두운 동작 표시 줄 (탭 내용)을 원합니다.viewpagerindicator 탭에서 탭 배경을 변경하는 방법은 무엇입니까?

내가 사용하는 기본 테마는 테마입니다. Sherlock.Light.DarkActionBar. 이 스타일을 탭의 속성 (텍스트 색상, 표시 색상 등)을 설정하는 스타일의 부모로 지정하여이 스타일을 확장합니다. 어두운 동작 표시 줄, 밝은 탭 및 밝은 부분이 생깁니다.

탭 자체의 배경을 변경하는 항목을 찾을 수 없습니다. 변경할 수있는 유일한 방법은 전체 앱을 어둡게 변경하는 것입니다 (Theme.Sherlock 사용). 여기 내 코드는 지금까지의 :

<style name="vpiTheme" parent="Theme.Sherlock.Light.DarkActionBar"> 
    <item name="vpiTabPageIndicatorStyle">@style/CustomTabPageIndicator</item> 
</style> 

<style name="CustomTabPageIndicator" parent="Widget.TabPageIndicator"> 
    <item name="android:textColor">#FF000000</item> 
    <item name="android:paddingTop">6dp</item> 
    <item name="android:paddingBottom">6dp</item> 
    <item name="android:paddingLeft">16dip</item> 
    <item name="android:paddingRight">16dip</item> 
    <item name="android:maxLines">2</item> 
</style> 

답변

0

먼저 프로젝트에 드로어 블을 추가, 아래의 하나라고 tab_indicator.xml :

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/black" /> 
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@android:color/white" /> 
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/black" /> 
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@android:color/white" /> 
</selector> 

그런 스타일에 당김을 참조 :

<item name="android:background">@drawable/tab_indicator</item> 

활성 탭이 흰색 배경이고 다른 탭이 검은 색이됩니다.

+0

이렇게하면 컬러 표시기를 대체 할 수 있습니까? – Flyview

+0

네, 맞습니다. 내 목표는 지표를 제거하는 것이 었음을 잊어 버렸습니다. 기본 표시기/배경이 9 패치 이미지로 이루어지기 때문에 여기에 대한 대답은 http://stackoverflow.com/questions/10364045/actionbarsherlock-actionbar-custom-background-with-divider에 적용해야합니다. – grant

7

9 패치 드로어 블은 대부분 투명하기 때문에, 탭의 색상은 단순히 다음과 같이 전체 ViewPagerIndicator에 배경 색상을 추가하여 변경할 수 있습니다

<com.viewpagerindicator.TabPageIndicator 
    android:id="@+id/indicator" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:background="#333333" /> 

당신이를 계속 사용할 수 있습니다이 방법을 테마는 Theme.Sherlock.Light.DarkActionBar을 기반으로하며 새로운 드로어 블을 만들 필요가 없습니다.

관련 문제