亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? colorpickerdialog.java

?? Android Source Code. An gallary program.
?? JAVA
字號:
/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.example.android.apis.graphics;import android.R;import android.os.Bundle;import android.app.Dialog;import android.content.Context;import android.graphics.*;import android.view.MotionEvent;import android.view.View;public class ColorPickerDialog extends Dialog {    public interface OnColorChangedListener {        void colorChanged(int color);    }    private OnColorChangedListener mListener;    private int mInitialColor;    private static class ColorPickerView extends View {        private Paint mPaint;        private Paint mCenterPaint;        private final int[] mColors;        private OnColorChangedListener mListener;                ColorPickerView(Context c, OnColorChangedListener l, int color) {            super(c);            mListener = l;            mColors = new int[] {                0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00,                0xFFFFFF00, 0xFFFF0000            };            Shader s = new SweepGradient(0, 0, mColors, null);                        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);            mPaint.setShader(s);            mPaint.setStyle(Paint.Style.STROKE);            mPaint.setStrokeWidth(32);                        mCenterPaint = new Paint(Paint.ANTI_ALIAS_FLAG);            mCenterPaint.setColor(color);            mCenterPaint.setStrokeWidth(5);        }                private boolean mTrackingCenter;        private boolean mHighlightCenter;        @Override         protected void onDraw(Canvas canvas) {            float r = CENTER_X - mPaint.getStrokeWidth()*0.5f;                        canvas.translate(CENTER_X, CENTER_X);                        canvas.drawOval(new RectF(-r, -r, r, r), mPaint);                        canvas.drawCircle(0, 0, CENTER_RADIUS, mCenterPaint);                        if (mTrackingCenter) {                int c = mCenterPaint.getColor();                mCenterPaint.setStyle(Paint.Style.STROKE);                                if (mHighlightCenter) {                    mCenterPaint.setAlpha(0xFF);                } else {                    mCenterPaint.setAlpha(0x80);                }                canvas.drawCircle(0, 0,                                  CENTER_RADIUS + mCenterPaint.getStrokeWidth(),                                  mCenterPaint);                                mCenterPaint.setStyle(Paint.Style.FILL);                mCenterPaint.setColor(c);            }        }                @Override        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {            setMeasuredDimension(CENTER_X*2, CENTER_Y*2);        }                private static final int CENTER_X = 100;        private static final int CENTER_Y = 100;        private static final int CENTER_RADIUS = 32;        private int floatToByte(float x) {            int n = java.lang.Math.round(x);            return n;        }        private int pinToByte(int n) {            if (n < 0) {                n = 0;            } else if (n > 255) {                n = 255;            }            return n;        }                private int ave(int s, int d, float p) {            return s + java.lang.Math.round(p * (d - s));        }                private int interpColor(int colors[], float unit) {            if (unit <= 0) {                return colors[0];            }            if (unit >= 1) {                return colors[colors.length - 1];            }                        float p = unit * (colors.length - 1);            int i = (int)p;            p -= i;            // now p is just the fractional part [0...1) and i is the index            int c0 = colors[i];            int c1 = colors[i+1];            int a = ave(Color.alpha(c0), Color.alpha(c1), p);            int r = ave(Color.red(c0), Color.red(c1), p);            int g = ave(Color.green(c0), Color.green(c1), p);            int b = ave(Color.blue(c0), Color.blue(c1), p);                        return Color.argb(a, r, g, b);        }                private int rotateColor(int color, float rad) {            float deg = rad * 180 / 3.1415927f;            int r = Color.red(color);            int g = Color.green(color);            int b = Color.blue(color);                        ColorMatrix cm = new ColorMatrix();            ColorMatrix tmp = new ColorMatrix();            cm.setRGB2YUV();            tmp.setRotate(0, deg);            cm.postConcat(tmp);            tmp.setYUV2RGB();            cm.postConcat(tmp);                        final float[] a = cm.getArray();            int ir = floatToByte(a[0] * r +  a[1] * g +  a[2] * b);            int ig = floatToByte(a[5] * r +  a[6] * g +  a[7] * b);            int ib = floatToByte(a[10] * r + a[11] * g + a[12] * b);                        return Color.argb(Color.alpha(color), pinToByte(ir),                              pinToByte(ig), pinToByte(ib));        }                private static final float PI = 3.1415926f;        @Override        public boolean onTouchEvent(MotionEvent event) {            float x = event.getX() - CENTER_X;            float y = event.getY() - CENTER_Y;            boolean inCenter = java.lang.Math.sqrt(x*x + y*y) <= CENTER_RADIUS;                        switch (event.getAction()) {                case MotionEvent.ACTION_DOWN:                    mTrackingCenter = inCenter;                    if (inCenter) {                        mHighlightCenter = true;                        invalidate();                        break;                    }                case MotionEvent.ACTION_MOVE:                    if (mTrackingCenter) {                        if (mHighlightCenter != inCenter) {                            mHighlightCenter = inCenter;                            invalidate();                        }                    } else {                        float angle = (float)java.lang.Math.atan2(y, x);                        // need to turn angle [-PI ... PI] into unit [0....1]                        float unit = angle/(2*PI);                        if (unit < 0) {                            unit += 1;                        }                        mCenterPaint.setColor(interpColor(mColors, unit));                        invalidate();                    }                    break;                case MotionEvent.ACTION_UP:                    if (mTrackingCenter) {                        if (inCenter) {                            mListener.colorChanged(mCenterPaint.getColor());                        }                        mTrackingCenter = false;    // so we draw w/o halo                        invalidate();                    }                    break;            }            return true;        }    }    public ColorPickerDialog(Context context,                             OnColorChangedListener listener,                             int initialColor) {        super(context);                mListener = listener;        mInitialColor = initialColor;    }    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        OnColorChangedListener l = new OnColorChangedListener() {            public void colorChanged(int color) {                mListener.colorChanged(color);                dismiss();            }        };        setContentView(new ColorPickerView(getContext(), l, mInitialColor));        setTitle("Pick a Color");    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产suv精品一区二区6| 国产麻豆一精品一av一免费 | 精品福利一区二区三区免费视频| 欧美国产丝袜视频| 日本不卡一二三| 欧美视频自拍偷拍| 国产精品不卡一区二区三区| 精品一区二区免费在线观看| 欧美日韩免费一区二区三区| 日韩一区有码在线| 国产精品一区免费视频| 欧美一区午夜精品| 亚洲国产成人tv| 一本色道综合亚洲| 亚洲国产精品黑人久久久| 精品一区二区三区蜜桃| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲视频你懂的| 国产精品1区2区3区在线观看| 88在线观看91蜜桃国自产| 亚洲黄色录像片| caoporn国产一区二区| 久久久精品免费网站| 麻豆精品久久久| 欧美一区二区三区免费| 亚洲gay无套男同| 在线观看日韩av先锋影音电影院| 国产精品网曝门| 国产在线不卡一卡二卡三卡四卡| 欧美一区二区三区小说| 亚洲18色成人| 欧美日韩一区二区三区视频| 一区二区激情小说| 色综合天天性综合| 国产精品一区二区三区乱码| 日韩欧美一级特黄在线播放| 日韩有码一区二区三区| 欧美日本一区二区三区四区| 亚洲国产成人高清精品| 欧美日韩免费一区二区三区视频 | 精品国产欧美一区二区| 日本vs亚洲vs韩国一区三区二区| 欧美视频在线一区二区三区 | 久久综合色8888| 美脚の诱脚舐め脚责91 | fc2成人免费人成在线观看播放| 国产日韩欧美制服另类| 激情综合网激情| 亚洲精品一区二区三区四区高清| 麻豆精品视频在线观看视频| 久久先锋资源网| 国产成人免费av在线| 欧美激情资源网| kk眼镜猥琐国模调教系列一区二区| 国产日韩欧美高清| 99国产精品久久久久| 一区二区三区小说| 欧美精品乱人伦久久久久久| 日本sm残虐另类| 精品国产1区2区3区| 成人免费黄色大片| 亚洲视频在线一区| 欧美久久一区二区| 美腿丝袜在线亚洲一区| 久久众筹精品私拍模特| 成人午夜视频网站| 亚洲综合在线电影| 91麻豆精品国产自产在线| 久久99精品久久久久| 国产欧美一区二区三区沐欲| jiyouzz国产精品久久| 亚洲自拍偷拍欧美| 日韩一级免费一区| 成人午夜在线视频| 亚洲成人tv网| 26uuu亚洲| jizz一区二区| 午夜激情综合网| 2024国产精品| 色哟哟精品一区| 免费成人在线影院| 国产精品网友自拍| 欧美日韩国产经典色站一区二区三区| 蜜桃视频在线观看一区二区| 久久精品一区二区三区不卡| 91视频xxxx| 日韩黄色免费电影| 国产嫩草影院久久久久| 欧美无砖砖区免费| 国产在线视视频有精品| 亚洲日本成人在线观看| 欧美日本一区二区在线观看| 国产精品一区一区| 亚洲第一狼人社区| 亚洲国产精品成人久久综合一区| 日本道在线观看一区二区| 久久精品国产一区二区三 | 在线播放91灌醉迷j高跟美女| 国产综合一区二区| 亚洲欧美日韩小说| 精品国产91乱码一区二区三区 | 精品一区二区在线观看| 亚洲伦理在线精品| 久久久久久综合| 欧美在线你懂得| 国产精品自在欧美一区| 亚洲国产日韩综合久久精品| 日本一区二区三区四区在线视频| 欧美色视频在线| 国产999精品久久久久久| 午夜精品久久久久久久| 国产精品不卡在线| 26uuu欧美| 欧美久久久久免费| 91一区二区三区在线观看| 久久99久久99| 亚洲bt欧美bt精品777| 1区2区3区欧美| 亚洲精品一线二线三线| 5858s免费视频成人| 97久久精品人人澡人人爽| 加勒比av一区二区| 婷婷久久综合九色综合伊人色| 国产精品久久久久久久久搜平片 | 91.com在线观看| 91麻豆精品秘密| 国产成人在线视频网站| 日本不卡中文字幕| 一区二区三区中文免费| 国产精品美女一区二区三区| 久久亚洲综合av| 91精品国产综合久久久蜜臀粉嫩| 一本高清dvd不卡在线观看| 国产成人啪免费观看软件| 久色婷婷小香蕉久久| 午夜激情久久久| 亚洲一区二区偷拍精品| 亚洲三级在线免费观看| 美国欧美日韩国产在线播放| 亚洲男同1069视频| 国产精品你懂的在线欣赏| 欧美成人a∨高清免费观看| 欧美日韩国产美女| 欧美伊人精品成人久久综合97| 不卡的av在线| 国产成人av资源| 国产尤物一区二区| 韩国一区二区在线观看| 欧美96一区二区免费视频| 午夜欧美大尺度福利影院在线看| 又紧又大又爽精品一区二区| 亚洲少妇中出一区| 亚洲欧美日韩精品久久久久| 亚洲欧洲日韩av| 中文字幕一区二区三区四区不卡 | 欧美日韩一区二区在线视频| 欧美综合久久久| 色哟哟欧美精品| 91福利视频在线| 在线亚洲+欧美+日本专区| 色综合久久久网| 色狠狠桃花综合| 日本高清不卡视频| 欧美日韩视频在线第一区| 欧美色偷偷大香| 7777精品伊人久久久大香线蕉 | 欧美久久久久免费| 欧美一区二区三区在线电影 | 99久久精品99国产精品| 成人av资源在线观看| 99热99精品| 欧美视频一区二区三区| 欧美日韩久久一区二区| 538prom精品视频线放| 日韩欧美一区二区久久婷婷| 精品国产91洋老外米糕| 中文字幕精品三区| 国产精品卡一卡二卡三| 亚洲自拍偷拍网站| 免费日本视频一区| 国产精品亚洲第一| 91丨国产丨九色丨pron| 欧美性大战久久久久久久蜜臀| 欧美日韩免费视频| 日韩免费成人网| 国产片一区二区三区| 国产精品久久久久桃色tv| 亚洲精品水蜜桃| 水蜜桃久久夜色精品一区的特点 | 亚洲国产视频网站| 麻豆一区二区三区| 国产乱对白刺激视频不卡| 成人高清视频在线观看| 欧亚一区二区三区| 日韩午夜激情电影| 中文字幕中文字幕一区| 亚洲一级电影视频| 精品一区二区三区蜜桃| 99久久久精品| 制服丝袜成人动漫|