Android如何实现颜色选取圆盘

  介绍

小编给大家分享一下安卓如何实现颜色选取圆盘,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

具体内容如下

先看效果图

 Android如何实现颜色选取圆盘

xml布局

& lt; ? xml  version=?.0“,编码=皍tf-8" ?祝辞,   & lt; LinearLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android",,   ,android:取向=皏ertical",   ,android: layout_width=癴ill_parent",   ,android: layout_height=癴ill_parent",   在大敌;   & lt; TextView    ,android: layout_width=癴ill_parent",   ,android: layout_height=皐rap_content",   ,android:文本=癅string/hello",   ,android: id=癅 + id/tv_rgb"/祝辞,   & lt; RelativeLayout  android: id=癅 + id/relativeLayout1", android: layout_height=癴ill_parent", android: layout_width=癴ill_parent"祝辞,   ,   ,& lt; com.myview.ColorPickerView    android:才能id=癅 + id/cpv",   android:才能layout_width=?30 dp",   android:才能layout_height=?30 dp",   android:才能layout_centerInParent=皌rue",   android:才能scaleType=癱enter",   android: src=https://www.yisu.com/zixun/才能“@drawable/rgb "/>         

ColorPickerView颜色选取圆盘

package  com.myview;,   ,   import  android.annotation.SuppressLint,   import  android.content.Context,   import  android.graphics.Bitmap,   import  android.graphics.BitmapFactory,   import  android.graphics.Canvas,   import  android.graphics.Color,   import  android.graphics.Paint,   import  android.graphics.PointF,   import  android.graphics.drawable.BitmapDrawable,   import  android.util.AttributeSet,   import  android.view.MotionEvent,   import  android.widget.ImageView,   ,   public  class  ColorPickerView  extends  ImageView  {,   ,Context 语境;   ,private  Bitmap  iconBitMap;   ,float  iconRadius;//,吸管圆的半径,   ,float  iconCenterX;   ,float  iconCenterY;   ,PointF  iconPoint;//,点击位置坐标,   ,   ,public  ColorPickerView (Context 上下文),{,   这才能(上下文,null),,   }大敌;   ,   ,public  ColorPickerView (Context 上下文,AttributeSet  attrs,, int  defStyle), {,   超级才能(上下文,attrs,, defStyle),,   时间=this.context 才能;语境;,   ,,init ();   }大敌;   ,   ,public  ColorPickerView (Context 上下文,AttributeSet  attrs), {,   这才能(上下文,attrs,, 0),,   ,,init ();   }大敌;   ,   ,Paint  mBitmapPaint;   ,Bitmap  imageBitmap;   ,float  viewRadius;//,整个视图半径,   ,float 半径;//,图片半径,   ,/* *大敌;   *,才能初始化画笔,   */才能,   ,private  void  init (), {,   时间=iconBitMap 才能;BitmapFactory.decodeResource (context.getResources (),,   ,,,R.drawable.pickup);//,吸管的图片,   时间=iconRadius 才能;iconBitMap.getWidth(),/, 2;//,吸管的图片一半,   ,   mBitmapPaint 才能=,new 油漆();,   iconPoint 才能=,new  PointF (),,   ,   imageBitmap 才能=,((BitmapDrawable), getDrawable ()) .getBitmap (),,   时间=radius 才能;imageBitmap.getHeight(),/, 2;//,图片半径,   ,   ,,//,//,初始化,   iconPoint.x 才能=,半径,,   iconPoint.y 才能=,半径,,   ,   }大敌;   ,   ,@Override    ,protected  void  onMeasure (int  widthMeasureSpec, int  heightMeasureSpec), {,//才能,TODO  Auto-generated  method  stub    super.onMeasure才能(widthMeasureSpec, heightMeasureSpec),,   }大敌;   ,   ,Canvas 帆布;   ,   ,@Override    ,protected  void  onDraw (Canvas 画布),{,//才能,TODO  Auto-generated  method  stub    super.onDraw才能(画布);,   this.canvas 才能=,帆布,,   ,   时间=viewRadius 才能;this.getWidth(),/, 2;//,整个视图半径,   ,   canvas.drawBitmap才能(iconBitMap, iconPoint.x 作用;iconRadius,, iconPoint.y    ,,,什么;iconRadius,, mBitmapPaint);,   }大敌;   ,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android如何实现颜色选取圆盘