最近几天的任务是app对应主题,就相关部分内容记录一下。
好记性不如烂笔头。
AbcActivity extends Activity ----->
AbcActivity extends AppCompatActivity
AlertDialog -----> v7.AlertDialog
// AndroidManifest.xml
<application
...
android:theme=@style/AppTheme">
// styles.xml
<style name="AppTheme" parent="The.AppCompat.Light.DarkActionBar"
<item name="colorPrimary">color1</item>
<item name="colorPrimaryDark">color2</item>
<item name="colorAccent">color3</item>
<item name="android:textColor">color4</item>
[图片上传失败...(image-243cf8-1562656655469)]
// Statusbar's color
<item name="colorPrimaryDark">color2</item>//Alert button title color;
// (checkbox, radio button, switch button) selected background color;
<item name="colorAccent">color3</item>//android:textColor追加以后
//android 789的情况下Alert button title color就不是<item name="colorAccent"对应的颜色值了,
//android5 6还是<item name="colorAccent"对应的颜色值
AlertDialog button title color还需要和<item name="colorAccent"的颜色值一样的解决方法。
// styles.xml
<style name="AppTheme"
追加
<item name="alertDialogTheme">@style/AlertDialogTheme</item>
<style name="AlertDialogTheme" parent="ThemeOverlay.AppCompat.Dialog.Alert">
<item name=buttonBarNegationButtonAlertStyle>@style/NegationBtnStyle</item>
<item name=buttonBarPositiveButtonAlertStyle>@style/PositiveBtnStyle</item>
</style>
<style name="NegationBtnStyle" parent="widget.AppCompat.Button.ButtonBar.AlertDialog">
<item name="android:textColor">@color/blue</item>
</style>
<style name="PositiveBtnStyle" parent="widget.AppCompat.Button.ButtonBar.AlertDialog">
<item name="android:textColor">@color/blue</item>
</style>
//全app字体色:有效,无效,字体不同色
<item name="android:textColor">@drawable/textcolor</item>
/drawbale文件夹
//textcolor.xml
<?xml version="1.0" endcoding="utf-8"?>
<selector xmlns:android="http://schemes.android.com/apk/res/android">
<item android:state_enable="false" android:color="@color/disable_color">
<item android:color="@color/black">
</selector>
Button的背景色, title色
//styles.xml
<style name="AppTheme.Button.Primary" parent="Widget.AppCompat.Button.Colored">
<item name="android:textColor">@drawable/common_btn_primary_title</item>
<item name="colorButtonNormal">@drawable/common_btn_primary_bg</item>
</style>
/drawbale文件夹
//common_btn_primary_title.xml
<?xml version="1.0" endcoding="utf-8"?>
<selector xmlns:android="http://schemes.android.com/apk/res/android">
<item android:state_enable="false" android:color="@color/blackalpha">
<item android:state_enable="true" android:color="@color/black">
</selector>
/drawbale文件夹
//common_btn_primary_bg.xml
<?xml version="1.0" endcoding="utf-8"?>
<selector xmlns:android="http://schemes.android.com/apk/res/android">
<item android:state_enable="false" android:color="@color/gray">
<item android:state_enable="true" android:color="@color/blue">
</selector>
应用
<Botton
android:id="@+id/btn_abc">
style="@style/common_btn"
app:theme="@style/AppTheme.Button.Primary"
android:text="I'm a Botton"
android:textAppearance="?android:attr/textAppearanceMedium"
//styles.xml
<style name="common_btn">
<item name="android:layout_width">0dip</item>
<item name="android:layout_height">100dip</item>
<item name="android:layout_marginLeft">10dip</item>
<item name="android:layout_marginRight">10dip</item>
<item name="android:layout_weight">0dip</item>
</style>