2012-08-22 5 views
1

어떻게 든 겉으로보기에는 쉬운 문제를 파악하는 데 어려움을 겪고 있습니다. android:text, android:textSize, android:textColor, android:textAppearance 등 내가 지정한 속성 중 아무 것도 내 ActionBar에 아무런 관련이없는 것 같습니다. 내 프로젝트를 실행할 때 ActionBar의 "MainActivity"는 여전히 흰색이고 기본 글꼴 크기입니다. 나는 API 레벨 16android - ActionBar를 사용자 정의 할 수 없습니다

여기 내 styles.xml이야을 사용하고 있습니다 :

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="AppTheme" parent="android:style/Theme.Holo"> 
     <item name="android:actionBarStyle">@style/ActionBar</item> 
    </style> 

    <style name="ActionBar" parent="android:style/Widget.Holo.ActionBar"> 
     <item name="android:text">This String Is Not Showing Up In ActionBar!</item> 
     <item name="android:textColor">@android:color/holo_orange_dark</item> 
     <item name="android:textSize">44dp</item> 
    </style> 
</resources> 

내의 AndroidManifest.xml :

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

누군가가 내가 잘못는지 말해 주시겠습니까?

+0

(이전 버전에서 작동 할 수있는) ActionBar 호환성 버전을 사용하고 있습니까? – Ali

답변

2

몇 가지 :

<item name="android:text">This String Is Not Showing Up In ActionBar!</item> 

이 작동하지 않습니다. 작업 표시 줄 제목은 매니페스트의 액티비티 라벨 필드를 사용하거나 액티비티의 액션 바 개체에 액세스하여 설정해야합니다.

업데이트 : 정보가 부분적으로 부정확했습니다. 밝혀졌습니다 은 styles.xml에서 작업 표시 줄의 제목을 android : title 태그로 설정합니다.

<style name="ActionBar" parent="android:style/Widget.Holo.ActionBar"> 
    <item name="android:title">This String WILL show up in the ActionBar!</item> 
    <item name="android:textColor">@android:color/holo_orange_dark</item> 
    <item name="android:textSize">44dp</item> 
</style> 

OLD 답변 :

이 (titleTextStyle을)를 액션 바 제목의 텍스트 스타일을 변경하려면 새로운 스타일이 필요합니다 :

<style name="Text.ActionBar"> 
    <item name="android:textColor">@android:color/holo_orange_dark</item> 
    <item name="android:textSize">44dp</item> 
</style> 

을하고 여기에 더 정확한 솔루션입니다 액션 바 스타일에서 참조하십시오.

<style name="ActionBar" parent="android:style/Widget.Holo.ActionBar"> 
    <item name="android:titleTextStyle">@style/Text.ActionBar</item>   
</style> 

작업 표시 줄에서 테마로 지정할 수있는 스타일에 대한 자세한 내용은 R.attr 설명서를 확인하십시오.

0

아래 코드를 사용하여 비슷한 작업을 수행 할 수있었습니다. PS - Appcompat를 사용했지만 ApI 16을 사용하고 있기 때문에 현재 ActionBar 자체를 사용할 수 있습니다.

<!-- general styles for the action bar --> 
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar"> 
    <item name="android:titleTextStyle">@style/TitleTextStyle</item> 
    <item name="android:background">@drawable/actionbar_background</item> 
</style> 

<!-- action bar title text --> 
<style name="TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/actionbar_text</item> 
    <item name="android:textSize">100sp</item> 
</style> 

<!-- Application theme. --> 
<style name="AppTheme" parent="AppCompatTheme"> 

    <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 
관련 문제