Android 5.x特性概览三

简介:

 上节,对Material Design样式做了介绍,这节我们介绍Palette。

  在Android发展的长河中,UI越来越成为Google的发展重心。上文提到Android 5.x 使用palette来提取颜色,从而使主题动态适用当前页面的色调,于是乎使整个app颜色色调更加和谐统一。

  Android 内置了几种提取色调的种类,如下所示。
1、Vibrant(充满活力的)
2、Vibrant dark(充满活力的黑)
3、Vibrant light(充满活力的亮)
4、Muted(柔和的)
5、Muted dark(柔和的黑)
6、Muted light(柔和的亮)

  开发组能够使用 Palette提供 的 API,能够让我们从 Bitmap 中获取对应的色调,修改当前的主题色调。  使用 Palette 首先需要在 Android Studio 中引用相关的依赖,在项目列表上点击 F4,然后在Module Setting 的 Dependencies 选项卡中添com.android.support:palette-v7:21.0.2 引用,重新同步项目即可。可以通过传递一个 Bitmap 对象给 Palette,并调用它的 Palette.generate()静态方法或者 Palette.generateAsync()方法来创建一Palette。接下来,就可以使用 getter 方法来检索相应的色调,这些色调就是我们在上面列表中所列出来的色调。

可以通过以下不同的方法来提取不同色调的颜色。代码分别如下:


palette.getVibrantSwatch ();
palette.getDarkVibrantSwatch ();
palette.getLightVibrantSwatch ();
palette.getMutedSwatch ();
palette.getDarkMutedSwatch ();
palette.getLightMutedSwatch ();

而下面这个例子,演示了使用 getDarkVibrantSwatch()方法提取的色调效果色调来改变状态栏的色调,代码如下所示。


Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
                R.drawable.test);
        // 创建Palette对象
        Palette.generateAsync(bitmap, new PaletteAsyncListener() {

            @Override
            public void onGenerated(Palette palette) {
                Palette.Swatch swatch = palette.getDarkMutedSwatch();

//                getActionBar().setBackgroundDrawable(
//                        new ColorDrawable(swatch.getRgb()));
                Window window = getWindow();
                window.setStatusBarColor(swatch.getRgb());
            }
        });

 而代码运行效果则是如下所示:

  

 




目录
相关文章
|
8天前
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的深度对比
在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。本文旨在通过数据驱动的分析方法,深入探讨这两大操作系统在开发环境、用户界面设计及市场表现等方面的差异。引用最新的行业报告和科研数据,结合技术专家的观点,本文将提供对开发者和市场分析师均有价值的洞见。
|
5天前
|
安全 算法 数据安全/隐私保护
探索Android 12中的隐私保护新特性
【6月更文挑战第30天】随着数字时代的到来,个人数据安全和隐私保护日益成为用户关注的焦点。本文将深入探讨Android 12操作系统中引入的隐私保护功能,从全新的隐私仪表板到精细的应用权限管理,再到增强的系统安全性,我们将逐一分析这些新特性如何提升用户的隐私保护水平,并讨论它们对开发者和用户体验可能产生的影响。
|
12天前
|
安全 搜索推荐 Android开发
探索安卓12新特性:用户体验与性能的全面提升
随着安卓12的发布,开发者和用户迎来了一场移动操作系统的重大更新。本文将深入探讨安卓12带来的创新特性,这些特性如何提升用户体验,并分析它们对设备性能的影响。我们将从界面设计、隐私安全、以及性能优化等方面进行详细解读,帮助读者全面了解安卓12的新面貌。
|
18天前
|
安全 IDE Android开发
探索Android与iOS开发的差异:平台特性与编程实践
【6月更文挑战第17天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据半壁江山。它们在用户群体、系统架构以及开发环境上的差异,为开发者带来了不同的挑战和机遇。本文深入探讨了这两个平台在技术实现、界面设计、性能优化等方面的主要区别,并提供了实用的开发建议,旨在帮助开发者更好地理解各自平台的特性,从而创造出更加优秀的移动应用。
|
21天前
|
安全 Android开发 数据安全/隐私保护
探索Android 12的隐私特性:用户数据保护的新纪元
【6月更文挑战第14天】在数字时代,用户数据安全和隐私保护日益成为焦点。随着Android 12的发布,Google引入了一系列创新的隐私特性,旨在为用户提供前所未有的数据控制权。本文将深入探讨这些新特性,并分析它们如何塑造移动操作系统的未来。
|
21天前
|
安全 Android开发 iOS开发
探索Android与iOS开发的差异:平台特性与用户体验的对比分析
在移动应用开发的广阔天地中,Android和iOS两大阵营各据一方。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计及市场分布等方面的主要区别。通过比较分析,我们将揭示各自平台的特有优势,并讨论如何根据目标受众和业务需求选择适合的开发平台。
|
25天前
|
安全 搜索推荐 Android开发
探索Android 12的新特性与改进
【6月更文挑战第10天】随着科技的飞速发展,智能手机操作系统也在不断更新迭代。本文将深入探讨Android 12的新特性与改进,帮助读者了解这一最新版本带来的全新体验。
|
2天前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与创新潜力
在移动应用开发的广阔天地中,安卓和iOS两大平台各占据一方。本文深入剖析了这两个操作系统的开发环境、工具、语言及市场趋势,旨在为开发者提供一个全面的比较视角。文章将基于最新的行业报告、技术论坛讨论以及专家分析,详细阐述两个平台的技术架构差异、开发成本和用户体验设计的不同点。通过数据支持的论证,揭示安卓与iOS在创新潜力上的独特优势,并探讨它们如何塑造未来的移动应用生态。
5 0
|
28天前
|
缓存 编解码 安全
探索Android 12的新特性与优化技巧
【6月更文挑战第7天】本文将深入探讨Android 12带来的创新功能和改进,包括用户界面的更新、隐私保护的加强以及性能的提升。同时,我们还将分享一些实用的优化技巧,帮助用户更好地利用这些新特性,提升手机的使用体验。
|
1月前
|
搜索推荐 Android开发 数据安全/隐私保护
探索Android 12的新特性:用户体验的革新
本文将深入探讨Android 12的新特性,包括其对用户体验的革新。我们将从系统界面、隐私保护、性能优化等方面进行分析,以期为读者提供全面而深入的理解。