【问题标题】:Android default colors themeAndroid默认颜色主题
【发布时间】:2015-10-28 16:57:48
【问题描述】:

我目前遇到以下问题。我更改了应用程序的默认样式,我的styles.xml 看起来像这样

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.NoActionBar">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
    <item name="android:editTextColor">#000000</item>
    <item name="android:textColor">#000000</item>
    <item name="android:colorBackground">#ffffff</item>
    <item name="android:spinnerItemStyle">@style/menu_spinner</item>
    <item name="android:spinnerDropDownItemStyle">@style/menu_spinner</item>
    <item name="android:windowBackground">@color/white</item>
</style>


<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:editTextColor">#000000</item>
    <item name="android:editTextStyle">@style/App_EditTextStyle</item>
    <item name="android:textColor">#000000</item>
    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
    <item name="android:colorBackground">#ffffff</item>
    <item name="android:spinnerItemStyle">@style/menu_spinner</item>
    <item name="android:spinnerDropDownItemStyle">@style/menu_spinner</item>
    <item name="android:textColorSecondary">@color/white</item>
    <item name="android:textColorTertiary">#ffffff</item>
    <item name="android:windowBackground">@color/white</item>
</style>

<style name="CustomAlertDialogStyle">
    <item name="android:windowBackground">@color/white</item>
    <item name="android:bottomBright">@color/white</item>
    <item name="android:bottomDark">@color/white</item>
    <item name="android:bottomMedium">@color/white</item>
    <item name="android:centerBright">@color/white</item>
    <item name="android:centerDark">@color/white</item>
    <item name="android:centerMedium">@color/white</item>
    <item name="android:fullBright">@color/white</item>
    <item name="android:fullDark">@color/white</item>
    <item name="android:topBright">@color/white</item>
    <item name="android:topDark">@color/white</item>
</style>

<style name="App_EditTextStyle" parent="@android:style/Widget.EditText">
    <item name="android:textColor">@color/black</item>
</style>


<style name="LoginFormContainer" parent="AppBaseTheme">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:padding">16dp</item>
</style>

<style name="menu_spinner">
    <item name="android:textColor">#ffffff</item>
</style>

<style name="spinner_style" parent="AppBaseTheme">
    <item name="android:textColor">#000000</item>
    <item name="android:background">@drawable/spinner_bg</item>
    <item name="android:paddingLeft">10dp</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
</style>

<style name="Widget.Holo.Light.CompoundButton.CheckBox" parent="Widget.Holo.CompoundButton.CheckBox" />

<style name="Widget.Holo.CompoundButton.CheckBox" parent="Widget.Holo.CompoundButton.CheckBox" />

但是,我所有的对话框都显示较暗的背景,我不明白为什么它们没有白色背景,因为我已将属性 windowbackground 和 colorbackground 默认定义为白色。这是默认情况下进度对话框的外观:

在我的 AndroidManifest 中,主题是“AppTheme”:

<application
        android:name="com.activeandroid.app.Application"
        android:allowBackup="true"
        android:icon="@drawable/icono_grande"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
....
</application>

【问题讨论】:

    标签: android colors themes background-color


    【解决方案1】:

    如果您想更改特定对话框的主题,您可以尝试以下操作:

    <!-- Makes a "light" equivalent of Theme.Dialog -->
    <style name="dialog_light" parent="@android:style/Theme.Light.Dialog">
        <item name="@android:background">@android:color/background_light</item>
        <!-- Whatever you want to add here -->  
    </style>
    

    如果它是应用范围的,那么应该这样做:

    <!-- Makes a "light" equivalent of Theme.Dialog -->
    <style name="popup_theme" parent="@android:style/Theme.Light">
        <item name="android:windowBackground">@color/back_color</item>
        <item name="android:colorBackground">@color/back_color</item>
        <!-- Whatever you want to add here --> 
    </style>
    

    【讨论】:

    • 问题是,如您所见,我已经将 colorbackground 和 windowbackground 定义为白色,但它仍然无法正常工作:/
    • 您是否尝试使用我指定的这个主题而不是您拥有的主题?因为我定义的主题应该是浅色的,所以它的 GUI 应该是白色或浅色
    • 我正在以编程方式添加进度对话框,如下所示: groupsDialog = new ProgressDialog(activity); groupsDialog.setMessage("请支持 espera..."); groupsDialog.setCancelable(false); groupsDialog.setMax(100); groupsDialog.setProgressNumberFormat(null); groupsDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);我应该编辑什么? Styles.xml 还是我如何构建进度对话框?
    • ProgressDialog groupsDialog = new ProgressDialog(activity, R.styles.dialog_light);
    • 但是有没有办法默认设置呢?每次我创建一个新的进度对话框时都必须将白色定义为背景颜色感觉是错误的:/这就是我试图避免的
    猜你喜欢
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2012-04-14
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多