2013-03-20 94 views
0

我正在嘗試實現自定義應用標題。我做了一個自定義佈局,將標題文本顏色更改爲白色。自定義應用標題

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingLeft="0dp" 
    android:text="@string/title_activity_main" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="@color/textColorWhite"/> 

而且在活動的onCreate()

requestWindowFeature(Window.FEATURE_LEFT_ICON); 
setContentView(R.layout.activity_home); 
setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.my_icon); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.layout_custom_app_title); 

它沒有Android 2.2的設備上運行。但是,我在4.0版本上成功測試了

有沒有人有任何解決方法?

編輯:

<style name="customWindowTitle"> 
    <item name="android:textColor">@color/textColorWhite</item> 
</style> 

<style name="LightThemeSelector" parent="android:Theme.Light"> 
    <item name="android:windowBackground">@drawable/app_background</item> 
    <item name="android:textColor">@color/textColorBlack</item> 
    <item name="android:windowTitleStyle">@style/customWindowTitle</item> 
</style> 
+0

是。不要僅僅因爲您想要不同的文本顏色而設置自定義視圖。在自定義主題的幫助下更改它。 – 2013-03-20 14:19:53

+0

是否可以使用主題更改應用標題顏色? – Renjith 2013-03-20 14:21:11

回答

0

您可以通過使用自定義主題很容易做到這一點。要做到這一點這裏的程序

在style.xml添加

<resources> 
    <style name="CustomWindowTitleBackground"> 
     <item name="android:background">@color/textColorWhite</item> 
     // here you can add other attributes 
    </style> 

    <style name="CustomTheme" parent="android:Theme"> 
     <item name="android:windowTitleSize">25dip</item> 
     <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> 
    </style> 
</resources> 

,並在AndroidManifest.xml中添加

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme"> 
+0

那麼這將被應用到整個應用程序?我已經有了一個應用程序的主題。現在我需要與自定義主題中提到的文字顏色不同的文字顏色來設置應用程序標題。 – Renjith 2013-03-20 14:30:23

+0

是的,它的工作!但我無法理解它的原因。 android:windowTitleBackgroundStyle從來不是一個標準參數。那麼如何才能改變標題文字的顏色呢? – Renjith 2013-03-20 14:56:24

+0

它只是設置標題欄的樣式,你可以看到它繼承了android:Theme ..其他屬性可以在第一個樣式中設置 – stinepike 2013-03-20 14:59:09