我有一個主題,要求所有關於活動的文本瀏覽被大寫。所以我設置的風格textAllCaps,然後將其應用到textViewStyle在我的主題,如下面Android textAllCaps在主題
<style name="Widget.Apex.TextView" parent="android:Widget.TextView">
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textAllCaps">true</item>
</style>
<style name="MyTheme" parent="@android:style/Theme.Holo">
<item name="android:textViewStyle">@style/Widget.Apex.TextView</item>
</style>
可惜這不得不把我的應用程序標題,字幕的ActionBar的副作用,popmenu項目資本。所以我認爲我只需在我的主題中設置ActionBarStyle,textAppearanceLargePopupMenu和textAppearanceSmallPopupMenu屬性來使用textAllCaps = false的自定義樣式。但是,這不起作用。我知道我的主題正在應用,因爲如果我設置textColor或textStyle,它們都應用於標題和菜單項。是否有可能重寫這些樣式中的textAllCaps?
<style name="Widget.Apex.TextView" parent="android:Widget.TextView">
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textAllCaps">true</item>
</style>
<style name="TextAppearance.Apex.Widget.ActionBar.Title" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textAllCaps">false</item>
<item name="android:textStyle">italic</item>
</style>
<style name="TextAppearance.Apex.Widget.ActionBar.Subtitle" parent="android:TextAppearance.Holo.Widget.ActionBar.Subtitle">
<item name="android:textAllCaps">false</item>
<item name="android:textStyle">italic</item>
<item name="android:textColor">#FF0000</item>
</style>
<style name="TextAppearance.Apex.Widget.PopupMenu.Large" parent="android:TextAppearance.Holo.Widget.PopupMenu.Large">
<item name="android:textAllCaps">false</item>
<item name="android:textStyle">italic</item>
<item name="android:textColor">#FF0000</item>
</style>
<style name="TextAppearance.Apex.Widget.PopupMenu.Small" parent="android:TextAppearance.Holo.Widget.PopupMenu.Small">
<item name="android:textAllCaps">false</item>
<item name="android:textStyle">italic</item>
<item name="android:textColor">#FF0000</item>
</style>
<style name="Widget.Apex.ActionBar" parent="android:Widget.Holo.ActionBar">
<item name="android:titleTextStyle">@style/TextAppearance.Apex.Widget.ActionBar.Title</item>
<item name="android:subtitleTextStyle">@style/TextAppearance.Apex.Widget.ActionBar.Subtitle</item>
</style>
<style name="MyTheme" parent="@android:style/Theme.Holo">
<item name="android:actionBarStyle">@style/Widget.Apex.ActionBar</item>
<item name="android:textAppearanceLargePopupMenu">@style/TextAppearance.Apex.Widget.PopupMenu.Large</item>
<item name="android:textAppearanceSmallPopupMenu">@style/TextAppearance.Apex.Widget.PopupMenu.Small</item>
<item name="android:textViewStyle">@style/Widget.Apex.TextView</item>
</style>
感謝, 喬納森
你是否想要使一個特定的'TextView'全部大寫?如果沒有,那麼你會介意告訴每個人你試圖製作全部大寫字母嗎?可能沒有必要按照原樣設置你的風格。 – adneal
當然。我正在嘗試使所有出現在「活動全部大寫」上的TextView。然而,副作用是有幾個地方使用TextViews獲得全部大寫樣式,所以我想撤消這些特定位置的所有大寫字母。我目前知道的兩個地方是標題和菜單彈出窗口。 –