美文网首页工作生活
AppCompatActivity , app theme相关

AppCompatActivity , app theme相关

作者: 红色海_ | 来源:发表于2019-07-02 16:37 被阅读0次

最近几天的任务是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)] theme_color.PNG

// 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>

相关文章