介绍
小编给大家分享一下安卓如何实现颜色选取圆盘,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
具体内容如下
先看效果图
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 nullAndroid如何实现颜色选取圆盘