我嘗試學習Android的主題,並陷入困境設置TextView
TEXTCOLOR到另一種顏色,然後這個全球:如何TextView的文本顏色設置爲特定的主題顏色
<item name="android:textColor">@color/white</item>
我創造了這個:
<item name="chatBubbleTextColor">@color/material_bohemia_500</item>
,我想我可以用它在TextView的XML像
android:textColor="?attr/chatBubbleTextColor"
,但我不能讓我工作也許它不起作用?
我知道我可以這樣做:
<style name="BohemiachatBubbleTextColor" parent="android:Theme">
<item name="android:textColor">@color/material_bohemia_500</item>
</style>
但我真的需要做這樣嗎?我只是想創建一個顏色屬性不是創建新的風格
這裏是主題,it's兩個主題和chatBubbleTextColor
是兩個
不同波希米亞應用主題和紅色主題應用
<!-- Base Theme -->
<style name="BaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Attributes for all APIs -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="dialogTheme">@style/AppTheme.Dialog</item>
<item name="alertDialogTheme">@style/AppTheme.Dialog.Alert</item>
<item name="colorControlHighlight">@color/selector_black_pressed</item>
<!-- Theme for the Preferences -->
<item name="preferenceTheme">@style/AppPreferenceTheme</item>
<!-- Theme for the pacv_placesAutoCompleteTextV -->
<item name="pacv_placesAutoCompleteTextViewStyle">@style/Widget.AppCompat.EditText</item>
<!-- Default App Theme -->
<style name="AppTheme" parent="BaseTheme">
<!-- API specific attributes 14+ -->
<item name="selectableRectDrawable">@drawable/state_list_selectable_rect_black</item>
<item name="selectableRectDrawableInverse">@drawable/state_list_selectable_rect_white</item>
<item name="selectableRectDrawableColored">@drawable/state_list_selectable_rect_black</item>
<item name="selectableRoundedRectDrawable">@drawable/state_list_selectable_rounded_rect_black</item>
<item name="selectableRoundedRectDrawableInverse">@drawable/state_list_selectable_rounded_rect_white</item>
<item name="selectableRoundedRectDrawableColored">@drawable/state_list_selectable_rounded_rect_black</item>
</style>
<!-- Bohemia App Theme -->
<style name="BaseTheme.Bohemia" parent="AppTheme">
<!-- Attributes for all APIs -->
<item name="colorPrimary">@color/material_bohemia_400</item>
<item name="colorPrimaryDark">@color/material_bohemia_500</item>
<item name="colorAccent">@color/material_bohemia_a100</item>
<item name="dialogTheme">@style/AppTheme.Dialog.Bohemia</item>
<item name="alertDialogTheme">@style/AppTheme.Dialog.Alert.Bohemia</item>
<item name="android:windowBackground">@color/material_bohemia_600</item>
<!-- Sets the color of the control when it is not activated like an unchecked checkbox. -->
<item name="colorControlNormal">@color/material_bohemia_a200</item>
<!-- Chat bubble -->
<item name="chatBubbleTextColor">@color/material_bohemia_500</item>
</style>
<style name="AppTheme.Bohemia" parent="BaseTheme.Bohemia">
<!-- API specific attributes 14+ -->
<item name="selectableRectDrawableColored">@drawable/state_list_selectable_rect_bohemia</item>
<item name="selectableRoundedRectDrawableColored">@drawable/state_list_selectable_rounded_rect_bohemia</item>
<!-- Add your custom overall styles here -->
</style>
<!-- Red App Theme -->
<style name="BaseTheme.Red" parent="AppTheme">
<!-- Attributes for all APIs -->
<item name="colorPrimary">@color/material_red_500</item>
<item name="colorPrimaryDark">@color/material_red_700</item>
<item name="colorAccent">@color/material_red_a700</item>
<item name="dialogTheme">@style/AppTheme.Dialog.Red</item>
<item name="alertDialogTheme">@style/AppTheme.Dialog.Alert.Red</item>
<item name="android:windowBackground">@color/material_red_300</item>
<!-- Chat bubble -->
<item name="chatBubbleTextColor">@color/material_red_500</item>
</style>
<style name="AppTheme.Red" parent="BaseTheme.Red">
<!-- API specific attributes 14+ -->
<item name="selectableRectDrawableColored">@drawable/state_list_selectable_rect_red</item>
<item name="selectableRoundedRectDrawableColored">@drawable/state_list_selectable_rounded_rect_red</item>
<!-- Add your custom overall styles here -->
</style>
它應該是'機器人:文字顏色= 「@顏色/ chatBubbleTextColor」' – Pztar
的可能的複製[Android的,如何主題字體顏色只是TextView的小工具?(http://stackoverflow.com/questions/15960029/android-how-to-theme-font-color-for-just-textview-widgets) –