Android 仿PhotoShop调色板应用(一)概述

版权声明:本文为博主原创文章,未经博主允许不得转载。

在前面的系列我已经将Android中颜色渲染的原理及使用做了一个整体上概述. 现在开始根据一个比较复杂的实现进行具体的分析,这就是PhotoShop中的调色板应用

首先还是看一下最终的实现效果:

   图1

怎么样,是不是要比API Demos中的ColorPickerDialog要强大得多,而且完全可以媲美PhotoShop中的调色板.

根据此例完全可以得到你想要的颜色,不再仅仅是一个简单的色相上的选取,而是提供一个HSV色彩及透明度的选取.

这里对颜色渲染原理,比如HSV色彩空间不太了解的可以之前我关于这方面的介绍:

Android 颜色渲染(二) 颜色区域划分原理与实现思路

看起来是不是实现很麻烦,不用担心,这里要介绍一个开源项目attenzione,已经很好地实现了这种PS调色板的效果

鉴于目前github经常上不去的情况,这里我将调试好的项目已上传,下面是下载地址;

http://download.csdn.net/detail/t12x3456/6246509

首先看一下项目截图;

   图2

从最开始的效果图,相信大家都看出来这个项目是以Preference的形式提供颜色选取的, 如果需要集成的话,只需以library的形式添加到工程中.

当然,也可以根据自己的需求进行适当的修改并集成到项目中,非常方便.

 

应用类功能:

AlphaPatternDrawable:  基于Drawable的重写,提供透明度的绘制

ColorPickerDialog; 颜色选择对话框

ColorPickerPanelView:颜色生成及设置自定义VIEW

ColorPickerPreference: 颜色设置

ColorPickerView: 颜色选择自定义VIEW

      图3         图4

图3为ColorPickerPreference的实现


4为ColorPickerDialog的实现,红色框选取的部分为ColorPickerView,绿色框的部分由
ColorPickerPanelView实现,左边的用来实时显示颜色的生成结果,右边的进行最终颜色的设置. 
其中绘制透明度选择区域时使用了AlphaPatternDrawable

目前先对该开源项目做一个概述,具体的实现将会在后面详细分析.

时间: 2024-10-05 09:53:13

Android 仿PhotoShop调色板应用(一)概述的相关文章

Android 仿PhotoShop调色板应用(三) 主体界面绘制

版权声明:本文为博主原创文章,未经博主允许不得转载. Android 仿PhotoShop调色板应用(三) 主体界面绘制    关于PhotoShop调色板应用的实现我总结了两个最核心的部分:   1. 主体界面不同区域的绘制   2. 颜色选择的生成与交互 这里我讲述一下第一要点,也就是ColorPickerDialog对主体界面的绘制. 首先还是看一下ColorPickerDialog整体显示的效果(见图1)     图1 对应着效果图我画了一张界面结构分析图,相信看了之后会对该界面的组成很

Android 仿PhotoShop调色板应用(四) 不同区域颜色选择的颜色生成响应

版权声明:本文为博主原创文章,未经博主允许不得转载.  Android 仿PhotoShop调色板应用(四) 不同区域颜色选择的颜色生成响应  上一篇讲过了主体界面的绘制,这里讲解调色板应用中的另外一个核心: 颜色选择及生成. ColorPcikerView中不同部分的选择和ColorPickerPanelView中颜色显示是怎样响应的呢?这里当然少不了回调函数: ColorPickerView: [java] view plain copy public interface OnColorCh

Android 仿PhotoShop调色板应用(二) 透明度绘制之AlphaPatternDrawable

版权声明:本文为博主原创文章,未经博主允许不得转载. Android 仿PhotoShop调色板应用(二) 透明度绘制之AlphaPatternDrawable 这里讲一下如何实现PS调色板中的透明度选择条.首先说一下要点: 1. 透明度选择条实际上是基于白色(0xffffffff)和灰色(0xffcbcbcb)之间的颜色区间选取, 由此我们可以实现一个半透明颜色的选取 2.该应用不仅可以做透明度颜色选取,也可以在应用中实现半透明的图像效果 下面看一下代码,主要是基于Drawable的重写: [

【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

[Android 仿微信通讯录 导航分组列表-上]使用ItemDecoration为RecyclerView打造带悬停头部的分组列表 一 概述 本文是Android导航分组列表系列上,因时间和篇幅原因分上下,最终上下合璧,完整版效果如下: 上部残卷效果如下:两个ItemDecoration,一个实现悬停头部分组列表功能,一个实现分割线(官方demo) 网上关于实现带悬停分组头部的列表的方法有很多,像我看过有主席的自定义ExpandListView实现的,也看过有人用一个额外的父布局里面套 Rec

Android仿京东首页轮播文字(又名垂直跑马灯)

Android仿京东首页轮播文字(又名垂直跑马灯) 京东客户端的轮播文字效果: 本次要实现的只是后面滚动的文字(前面的用ImageView或者TextView实现即可),看一下实现的效果 实现思路 上图只是一个大概的思路,要实现还需要完善更多的细节,下面会一步步的来实现这个效果: 1.封装数据源:从图上可以看到,轮播的文字是分为两个部分的,暂且把它们分别叫做前缀和内容,而且实际的使用过程中点击轮播图肯定是需要跳转页面的,而且大部分应该是WebView,不妨我们就设置点击时候需要获取的内容就是一个

Android系统移植与驱动开发概述读书心得

第一章是Android系统移植与驱动开发概述,包含了Android系统架构.Android系统移植的主要工作.查看Linux内核版本.Linux内核版本号的定义规则.如何学习Linux驱动开发以及Linux设备驱动等六方面内容 Android系统架构分为四层,分别是Linux内核.C/C++代码库.Android SDK API和应用程序.Linux内核这一层主要包括Linux的驱动程序以及内存管理.进程管理.电源管理等程序. Android移植可分为两部分:应用移植和系统移植.应用移植是指将应

Android仿微信UI布局视图(圆角布局的实现)

圆角按钮,或布局可以在xml文件中实现,但也可以使用图片直接达到所需的效果,以前版本的微信就使用了这种方法. 实现效果图:    不得不说,这种做法还是比较方便的. 源代码: MainActivity(没写任何代码,效果全在布局文件中实现): package com.android_settings; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity

Android仿IOS回弹效果 ScrollView回弹 总结

Android仿IOS回弹效果  ScrollView回弹 总结 应项目中的需求  需要仿IOS 下拉回弹的效果 , 我在网上搜了很多 大多数都是拿scrollview 改吧改吧 试了一些  发现总有点小问题 下面的代码是我对大家发布的做了点小修改   觉得没太大问题 package com.example.myscrollview; import android.content.Context; import android.graphics.Rect; import android.util

Android仿小米商城底部导航栏之二(BottomNavigationBar、ViewPager和Fragment的联动使用)

简介 在前文<Android仿小米商城底部导航栏(基于BottomNavigationBar)>我们使用BottomNavigationBar控件模仿实现了小米商城底部导航栏效果.接下来更进一步的,我们将通过BottomNavigationBar控件和ViewPager空间的联动使用来实现主界面的滑动导航. 导航是移动应用最重要的方面之一,对用户体验是良好还是糟糕起着至关重要的作用.好的导航可以让一款应用更加易用并且让用户快速上手.相反,糟糕的应用导航很容易让人讨厌,并遭到用户的抛弃.为了打造