android5.0新特性1Styke风格,颜色搭配,风格转换,不做Intent切换的动画

android5.0新特性,需要我们在Style中的每个itme中设置,具体设置如下图:


对应在资源文件中的Styles可以做如下设置:

?xml version="1.0" encoding="utf-8"?>

<resources>

    <style name="AppTheme" parent="android:Theme.Material.Light">


        <!-- 设置状态栏 -->

        <item name="android:colorPrimaryDark">@color/statusColor</item>


        <!-- actionBar的颜色 -->

        <item name="android:colorPrimary">@color/colorPrimary</item>


        <!-- 背景色 -->

        <item name="android:windowBackground">@color/windowColor</item>


        <!-- 导航色 -->

        <item name="android:navigationBarColor">@color/navigationBarColor</item>


        <!--actionbar textcolor-->

        <item name="android:textColorPrimary">@color/textColorPrimary</item>

    </style>


    <style name="Theme1" parent="android:Theme.Material.Light">


        <!-- 设置状态栏 -->

        <item name="android:colorPrimaryDark">@color/statusColor_1</item>


        <!-- actionBar的颜色 -->

        <item name="android:colorPrimary">@color/colorPrimary_1</item>


        <!-- 背景色 -->

        <item name="android:windowBackground">@color/windowColor_1</item>


        <!-- 导航色 -->

        <item name="android:navigationBarColor">@color/navigationBarColor_1</item>


        <!--actionbar textcolor-->

        <item name="android:textColorPrimary">@color/textColorPrimary_1</item>

    </style>


    <style name="Theme2" parent="android:Theme.Material.Light">


        <!-- 设置状态栏 -->

        <item name="android:colorPrimaryDark">@color/statusColor_2</item>


        <!-- actionBar的颜色 -->

        <item name="android:colorPrimary">@color/colorPrimary_2</item>


        <!-- 背景色 -->

        <item name="android:windowBackground">@color/windowColor_2</item>


        <!-- 导航色 -->

        <item name="android:navigationBarColor">@color/navigationBarColor_2</item>


        <!--actionbar textcolor-->

        <item name="android:textColorPrimary">@color/textColorPrimary_2</item>

    </style>


在Color中

<?xml version="1.0" encoding="utf-8"?>

<resources>


    <color name="colorPrimary">#9C27B0</color>

    <color name="windowColor">#E1BEE7</color>

    <color name="statusColor">#8E24AA</color>

    <color name="navigationBarColor">#7B1FA2</color>

    <color name="textColorPrimary">#ffffff</color>


    <color name="colorPrimary_1">#009688</color>

    <color name="windowColor_1">#B2DFDB</color>

    <color name="statusColor_1">#00897B</color>

    <color name="navigationBarColor_1">#00796B</color>

    <color name="textColorPrimary_1">#ffffff</color>



    <color name="colorPrimary_2">#FF5722</color>

    <color name="windowColor_2">#FFCCBC</color>

    <color name="statusColor_2">#F4511E</color>

    <color name="navigationBarColor_2">#D84315</color>

    <color name="textColorPrimary_2">#ffffff</color>


</resources>



在谷歌的设计样式中:

www.google.com/design中可以找到对于的样式,样式已经帮忙搭配好



在改变样式setTheme的方法必须在activity重启之前,所以改变样式的方法如下

 @Override

    protected void onCreate(Bundle savedInstanceState)

    {

        int theme = getIntent().getIntExtra("theme",

                                            -1);

        if (theme != -1)

        {

            setTheme(theme);

        }


        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }



    private void changeTheme(int theme)

    {

        //必须在activitysetContentView之前

        //activity必须重启


//注意这个方法就是意图转换的时候不做如何动画

        overridePendingTransition(0,

                                  0);

        finish();

        Intent intent = new Intent(this,

                                   MainActivity.class);

        intent.putExtra("theme",

                        theme);

        overridePendingTransition(0,

                                  0);

        startActivity(intent);


    }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值