【发布时间】:2019-11-25 08:13:55
【问题描述】:
我有一个 android 项目,当我在 Android Studio 中更改 styles.xml 文件时,我每次都需要重新构建我的项目。
如果我不重新构建它,android studio 会部署我的应用程序而不需要视觉更改。
这是正确的行为还是我可以使用一些技巧?
因为在主题调整期间每次更改项目的背景颜色时重新构建有点慢且效率低。
更新:
我原来的styles.xml文件:
<resources xmlns:ns2="http://schemas.android.com/apk/res-auto">
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="Theme.NoTitleMine" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.MyDarkMaterialDesignBar" parent="Theme.MaterialComponents">
<!--button active style as well as edit text color (selected), also underline color-->
<item name="colorPrimary">@color/redesign_highlight_color</item>
<!--edit text activate, spinner click color-->
<item name="colorSecondary">@color/redesign_highlight_color</item>
<!--form background color-->
<item name="android:windowBackground">@color/redesign_background</item>
<item name="colorSurface">@color/redesign_background</item>
<item name="disabledMaterialButtonColor">@color/redesign_disabled_button</item>
<item name="buttonStyle">@style/MaterialButton</item>
<item name="spinnerStyle">@style/DarkSpinnerStyle</item>
</style>
<style name="Theme.MyDarkMaterialDesign" parent="Theme.MaterialComponents.NoActionBar">
<!--button active style as well as edit text color (selected), also underline color-->
<item name="colorPrimary">@color/redesign_highlight_color</item>
<!--edit text activate, spinner click color-->
<item name="colorSecondary">@color/redesign_highlight_color</item>
<!--form background color-->
<item name="android:windowBackground">@color/redesign_background</item>
<item name="disabledMaterialButtonColor">@color/redesign_disabled_button</item>
<item name="buttonStyle">@style/MaterialButton</item>
<item name="spinnerStyle">@style/DarkSpinnerStyle</item>
</style>
<style name="DarkSpinnerStyle" parent="Widget.AppCompat.Spinner">
<item name="android:popupBackground">@color/redesign_background</item>
</style>
<style name="MaterialButton" parent="Widget.MaterialComponents.Button">
<item name="backgroundTint">@color/material_button_style_selector</item>
</style>
<style name="My.TextInputLayout.FilledBox.Padding" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name="materialThemeOverlay">@style/MyThemeOverlayFilledPadding</item>
</style>
<style name="MyThemeOverlayFilledPadding">
<item name="editTextStyle">@style/MyTextInputEditText_filledBox_padding</item>
</style>
<style name="MyTextInputEditText_filledBox_padding" parent="@style/Widget.MaterialComponents.TextInputEditText.FilledBox">
<!-- left and right padding -->
<item name="android:paddingStart" ns2:ignore="NewApi">2dp</item>
<item name="android:paddingEnd" ns2:ignore="NewApi">2dp</item>
<item name="android:paddingLeft">2dp</item>
<item name="android:paddingRight">2dp</item>
<!-- top and bottom padding -->
<item name="android:paddingTop">24dp</item>
<item name="android:paddingBottom">8dp</item>
</style>
<style name="DesignAppTheme" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/designColorPrimary</item>
<item name="colorPrimaryDark">@color/designGreyTextColor</item>
<item name="colorAccent">@color/designColorAccent</item>
<item name="android:windowBackground">@color/designColorPrimary</item>
<item name="android:colorForeground">@color/designGreyTextColor</item>
<item name="android:colorForegroundInverse">@color/designBrightGreyTextColor</item>
<item name="android:textColor">@color/designBrightGreyTextColor</item>
<item name="android:color">@color/designBrightGreyTextColor</item>
<item name="android:textColorPrimary">@color/designBrightGreyTextColor</item>+
<item name="editTextStyle">@style/DesignEditText</item>
<item name="buttonStyle">@style/DesignButtonNoBorder</item>
<item name="colorControlActivated">@color/designColorAccent</item>
<item name="colorControlHighlight">@color/designColorAccent</item>
<item name="colorControlNormal">@color/designColorAccent</item>
<item name="spinnerStyle">@style/MainThemeSpinner</item>
</style>
<style name="DesignEditText" parent="Widget.AppCompat.EditText">
<item name="android:textColor">@color/designBrightGreyTextColor</item>
<item name="android:textColorHint">@color/designGreyTextColor</item>
<item name="android:editTextColor">@color/designBrightGreyTextColor</item>
<item name="colorAccent">@color/designColorAccent</item>
</style>
<style name="DesignTextViewBright" parent="android:Widget.TextView">
<item name="android:textColor">@color/designWhiteColor</item>
</style>
<style name="DesignTextViewPale" parent="android:Widget.TextView">
<item name="android:textColor">@color/designPaleColor</item>
</style>
<style name="DesignButtonNoBorder" parent="Widget.AppCompat.Button">
<item name="android:background">@drawable/round_button_noborder</item>
<item name="android:textColor">@color/designWhiteColor</item>
</style>
<style name="MainThemeSpinner" parent="Widget.AppCompat.Spinner">
<item name="android:popupBackground">@color/designColorPrimary</item>
</style>
<style name="MainThemeSpinnerUnderlined" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:spinnerStyle">@style/holoSpinner</item>
</style>
<style name="holoSpinner" parent="Widget.AppCompat.Spinner.Underlined">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/colorPrimary</item>
<item name="android:popupBackground">@color/designColorPrimary</item>
</style>
<style name="DesignButton" parent="Widget.AppCompat.Button">
<item name="android:background">@drawable/round_button</item>
<item name="android:textColor">@color/designWhiteColor</item>
</style>
<style name="RedAppLightTheme" parent="AppTheme">
<item name="colorAccent">@color/redColor</item>
</style>
<style name="DesignAppLightTheme" parent="AppTheme">
<item name="colorPrimary">@color/designColorPrimary</item>
<item name="buttonStyle">@style/DesignButtonNoBorder</item>
<item name="colorAccent">@color/designColorAccent</item>
<item name="imageButtonStyle">@style/DesignButtonNoBorder</item>
<item name="colorControlActivated">@color/designColorAccent</item>
<item name="colorControlHighlight">@color/designColorAccent</item>
<item name="colorControlNormal">@color/designColorAccent</item>
<item name="editTextStyle">@style/DesignEditTextLight</item>
<item name="android:actionMenuTextColor">@color/designColorAccent</item>
</style>
<style name="DesignEditTextLight" parent="Widget.AppCompat.EditText">
<item name="colorAccent">@color/designColorAccent</item>
</style>
<style name="DesignAppBlackColorTabLightTheme" parent="AppTheme">
<item name="colorPrimary">@color/designColorPrimary</item>
<item name="buttonStyle">@style/DesignButtonNoBorder</item>
<item name="colorAccent">@color/designColorAccent</item>
<item name="imageButtonStyle">@style/DesignButtonNoBorder</item>
<item name="android:windowBackground">@color/designColorPrimary</item>
<item name="android:textColorSecondary">@color/designColorPrimaryGray</item>
<item name="android:textColorPrimary">@color/colorWhite</item>
<item name="actionMenuTextColor">@color/designColorAccent</item>
<item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>
</style>
<style name="myCustomMenuTextApearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">@color/designColorPrimary</item>
</style>
<style name="DesignAppLightTheme.NoTitleMine" parent="DesignAppLightTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="buttonStyle">@style/DesignButtonNoBorder</item>
<item name="imageButtonStyle">@style/DesignButtonNoBorder</item>
</style>
<style name="DesignAppTheme.NoTitleMine" parent="DesignAppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="buttonStyle">@style/DesignButtonNoBorder</item>
<item name="imageButtonStyle">@style/DesignButtonNoBorder</item>
</style>
<style name="CustomDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<!--buttons color-->
<item name="colorAccent">@android:color/holo_orange_dark</item>
<!--title and message color-->
<item name="android:textColorPrimary">@android:color/white</item>
<!--dialog background-->
<item name="android:windowBackground">@drawable/background_dialog</item>
</style>
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:textColor">@color/designColorPrimary</item>
<item name="colorPrimary">@color/designColorPrimary</item>
<item name="colorAccent">@color/designColorAccent</item>
<item name="colorControlActivated">@color/designColorAccent</item>
<item name="colorControlHighlight">@color/designColorAccent</item>
<item name="colorControlNormal">@color/designColorAccent</item>
<item name="android:padding">3dp</item>
</style>
</resources>
【问题讨论】:
-
尝试
restart或clear cache and restartAndroid Studio -
试过了,但没有希望:(
标签: android android-studio android-styles