2013-03-01 3 views
1

ActionBar에 ActionBarSherlock이 설정되어 있습니다. 응용 프로그램이 세로 및 가로로있을 때 다른 탭 텍스트 색을 설정해야합니다.ActionBarSherlock 방향 변경시 탭 텍스트 색상 변경

방향이 풍경입니다

Portrait Tab

, 탭 텍스트 색상은 흰색 (#FFFFFF)해야한다 : 탭이 세로 모드에있을 때 텍스트는 다음과 같이 밝은 회색이어야한다. 방향이 가로로 이동 그러나 텍스트는 다음과 같습니다

Landscape Tab

가 다시, 나는 때 풍경, 흰색 (#FFFFFF)에서, 탭의 텍스트 색상이 필요합니다. Light.DarkActionBar 테마를 사용하고 아래와 같이 스타일을 통해 텍스트 색상을 설정합니다. 에서

은/I가 장치를 회전 할 때, 텍스트가 예상되는 어두운 유지 폴더

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Example.Theme.Default" parent="@style/Theme.Sherlock.Light.DarkActionBar"> 

     <item name="actionBarTabTextStyle">@style/Example.ActionBar.TabTextStyle</item> 
     <item name="android:actionBarTabTextStyle">@style/Example.ActionBar.TabTextStyle</item> 

    </style> 

    <style name="Example.ActionBar.TabTextStyle" parent="Widget.Sherlock.ActionBar.TabText"> 
     <item name="android:textColor">#585858</item> 
    </style> 

</resources> 

그 값. 리소스 수정자를 사용하여이 문제를 해결하기로 결정했는데 아래에 표시된 것처럼 랜드 스케이프의 새 탭 텍스트 스타일이있는 값 랜드 폴더 아래에 -land 수정자를 사용하여 새 리소스 폴더를 만들었습니다. /값-땅에서

나는 장치를 회전하면 텍스트 색상을 변경 할 것으로 예상이 시점에서 폴더

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

    <style name="Example.ActionBar.TabTextStyle" parent="Widget.Sherlock.ActionBar.TabText"> 
     <item name="android:textColor">#FFFFFF</item> 
    </style> 

</resources> 

. 이것은 발생하지 않습니다. 그러나 ... 안드로이드 홈 화면으로 돌아가서 장치를 가로로 놓고 다음에 앱을 시작하면 올바른 리소스 스타일이 사용됩니다 (탭 텍스트는 흰색 임). 다시 세로로 회전 시키면 흰색으로 유지됩니다. 어두운 색으로 돌아갈 것으로 예상됩니다. (# 585858)

화면의 텍스트 방향을 변경하려면 어떻게해야합니까? 안드로이드 나 액션 바가 방향 변경을 무시하고 스타일을 다시 보지 않는 것 같습니다. 누구든지 어떤 생각을 가지고 있습니까?

+0

확실하게이 테마를 매니페스트에 적용하셨습니까? – LuxuryMode

+0

예, 작업 표시 줄이 올바르게 작동합니다. 이 스타일은 방향 변경시 작동하지 않습니다. –

+0

구성 변경 사항을 처리하고 있습니까? –

답변

1

매니페스트에 android:configChanges="keyboardHidden|orientation" (또는 비슷한 내용)이있는 것 같습니다. 이것을 제거하면 회전 할 때 색상이 변경됩니다. 또한 활동이 회전 할 때 다시로드되기 때문에 적절하게 처리해야합니다.

관련 문제