- 浏览: 323211 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (228)
- ArcGis (4)
- UI设计 (32)
- SQLite (7)
- ListView (12)
- Handler_Thread (6)
- XML (5)
- Menu (7)
- TabHost (6)
- Inflater (2)
- Activity (5)
- SDCard (3)
- Dialog (7)
- Spinner (3)
- 设备信息 (2)
- 资源文件 (7)
- 多媒体 (7)
- 图片浏览 (5)
- 工具的使用 (3)
- Animation动画 (7)
- GIS (14)
- 软件发布 (4)
- GPS (2)
- 手机Feature开发 (6)
- 加密解密 (1)
- Time (2)
- JWeb (5)
- SQL (2)
- PhoneGap (3)
- JavaScript (3)
- Object-C入门 (7)
- Oracle (1)
- AutoCompleteTextView (1)
- APN (1)
- IOS开发 (12)
- 数据库工具 (3)
- UITableView (0)
- Arcgis for iOS (1)
最新评论
-
waterM:
...
DBVis 连接数据库配置 -
航空母舰:
上源码吧,差资源,都跑不起来!
ListView_split 分割 -
wade200:
学习了
启动另一个Activity并返回结果(附源码) -
AndLi:
里面的坐标被我写死了啊,你注释掉就可以了
GPS定位 -
kunlinchen2010:
求指教,QQ:446482624
GPS定位
ColorPick.java
public class ColorPickerPreference extends DialogPreference { private int mInitialColor; private int mCurrentColor; private ColorPickerView colorPickerView; public interface OnColorChangedListener { void colorChanged(int color); } public ColorPickerPreference(Context context, AttributeSet attrs) { super(context, attrs); } public ColorPickerPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onDialogClosed(boolean positiveResult) { if (positiveResult) { mCurrentColor = colorPickerView.getColor(); System.out.println("当前选中的颜色:" + mCurrentColor); // 将颜色保存到SharedPreferences SharedPreferences sp = getContext().getApplicationContext() .getSharedPreferences("mycolor", Context.MODE_PRIVATE); // 获得Preferences Editor editor = sp.edit(); editor.putInt(getKey(), mCurrentColor); editor.commit(); callChangeListener(new Integer(mCurrentColor)); } } @Override protected void onPrepareDialogBuilder(Builder builder) { super.onPrepareDialogBuilder(builder); OnColorChangedListener onColorChangedListener = new OnColorChangedListener() { public void colorChanged(int color) { mCurrentColor = color; onDialogClosed(true); getDialog().dismiss(); } }; SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); mInitialColor = prefs.getInt(getKey(), Color.LTGRAY); LinearLayout layout = new LinearLayout(getContext()); layout.setPadding(20, 20, 20, 20); layout.setOrientation(LinearLayout.VERTICAL); colorPickerView = new ColorPickerView(getContext(), onColorChangedListener, mInitialColor); LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); params1.gravity = Gravity.CENTER; colorPickerView.setLayoutParams(params1); layout.addView(this.colorPickerView); layout.setId(android.R.id.widget_frame); builder.setView(layout); } /** * 颜色选择面板 * * @author lilin * @date 2011-9-15 下午03:54:27 * @ClassName: ColorPickerView * @Description: TODO */ private static class ColorPickerView extends View { private Paint mPaint; private Paint mCenterPaint; private Paint mHSVPaint; private final int[] mColors; private int[] mHSVColors; private boolean mRedrawHSV; 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(55); mCenterPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mCenterPaint.setColor(color); mCenterPaint.setStrokeWidth(5); mHSVColors = new int[] { 0xFF000000, color, 0xFFFFFFFF }; mHSVPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mHSVPaint.setStrokeWidth(10); mRedrawHSV = true; } private boolean mTrackingCenter; private boolean mHighlightCenter; public int getColor() { return mCenterPaint.getColor(); } @Override protected void onDraw(Canvas canvas) { float r = CENTER_X - mPaint.getStrokeWidth() * 0.5f; canvas.translate(CENTER_X, CENTER_X); int c = mCenterPaint.getColor(); if (mRedrawHSV) { mHSVColors[1] = c; mHSVPaint.setShader(new LinearGradient(-100, 0, 100, 0, mHSVColors, null, Shader.TileMode.CLAMP)); } canvas.drawOval(new RectF(-r, -r, r, r), mPaint); canvas.drawCircle(0, 0, CENTER_RADIUS, mCenterPaint); canvas.drawRect(new RectF(-100, 130, 100, 110), mHSVPaint); if (mTrackingCenter) { 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); } mRedrawHSV = true; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(CENTER_X * 2, (CENTER_Y + 25) * 2); } private static final int CENTER_X = 100; private static final int CENTER_Y = 100; private static final int CENTER_RADIUS = 30; 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 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 if ((x >= -100 & x <= 100) && (y <= 130 && y >= 110)) // see // if // we're // in // the // hsv // slider { int a, r, g, b, c0, c1; float p; // set the center paint to this color if (x < 0) { c0 = mHSVColors[0]; c1 = mHSVColors[1]; p = (x + 100) / 100; } else { c0 = mHSVColors[1]; c1 = mHSVColors[2]; p = x / 100; } a = ave(Color.alpha(c0), Color.alpha(c1), p); r = ave(Color.red(c0), Color.red(c1), p); g = ave(Color.green(c0), Color.green(c1), p); b = ave(Color.blue(c0), Color.blue(c1), p); mCenterPaint.setColor(Color.argb(a, r, g, b)); mRedrawHSV = false; 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; } } }
Main.java
public class Main extends PreferenceActivity { Button button; SharedPreferences sp; ListView listView; LinearLayout linearLayout; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preference); setContentView(R.layout.main); button = (Button) findViewById(R.id.button); listView = new ListView(this); linearLayout = (LinearLayout) findViewById(R.id.line11); getColor(); } public void getColor() { sp = getApplicationContext().getSharedPreferences("mycolor", Context.MODE_PRIVATE); // 获得Preferences int color = sp.getInt("mycolor", 0); String string = String.valueOf(color); button.setText(string); button.setTextColor(color); listView.setBackgroundColor(color); linearLayout.setBackgroundColor(color); } }
发表评论
-
日期编辑框
2012-03-11 13:21 868<EditText ... -
AutoCompleteText
2012-02-28 09:23 1254ArrayAdapter<String> a ... -
TextView 为空判别
2012-02-27 22:24 1292String user = username ... -
播放器主界面设计
2012-01-03 16:23 1192<?xml version="1.0&q ... -
自定义加载中和加载失败滚动条
2011-12-27 22:04 767111111111111111 -
MyApplication的配置:否则缓存为空
2011-12-26 23:58 1036<application ... -
拖动界面设计参考
2011-12-26 16:44 1099111111111111111111111111 -
设置界面设计
2011-12-25 21:45 1289如何获得用户名的值呢: // 获得配置参数:用户名 fin ... -
天天动听UI——主界面
2011-12-24 20:13 86311111111111111111111111111111 ... -
SeekBar 样式设置
2011-12-12 16:51 11326UI参考 &l ... -
地图设计参考界面
2011-12-07 16:53 7697777777777777777777777777777777 ... -
录音界面设计参考
2011-12-06 21:25 9761111111111111111111111111111111 ... -
左 中 右 布局(样式走样的问题)
2011-12-06 09:46 1268注意:使用系统自带的checkbox会导致样式走样,如下 ... -
动态生成UI 数据列表项(处理数据上报)2 分类显示
2011-10-19 23:43 855分类显示 -
动态生成UI 数据列表项(处理数据上报)1
2011-10-19 23:04 1357核心思路:ScrollView+LinearLayo ... -
webview 类似浏览器
2011-10-13 07:50 690package com.lilin.browser; ... -
WebView 网络视图
2011-10-13 07:50 947public class Main extends Activ ... -
网格布局 TableLayout
2011-10-12 08:00 864<?xml version="1.0&q ... -
帧布局 FrameLayout
2011-10-13 07:50 1053<?xml version="1.0&q ... -
进度条大全
2011-10-11 07:11 9331.对话框进度条 public class Mai ...
相关推荐
在给定的部分代码中,我们可以看到一个简单的颜色选择器实现方式: 1. **使用`<object>`标签引入外部组件**:代码中的`<object>`标签加载了一个名为`dlgHelper`的对象,这个对象可能是用来创建颜色选择对话框的...
**WPF颜色选择器** 在Windows Presentation Foundation (WPF) 中,颜色选择器是一个非常有用的控件,允许用户直观地选取所需的颜色。WPF的颜色选择器通常被用于UI设计,以便用户可以自由调整应用程序界面的颜色或者...
【标题】:“重新实现的Qt颜色选择器”深入解析 在Qt框架中,`QColorDialog`是一个重要的组件,用于创建一个用户界面,允许用户选择颜色。本篇将详细探讨如何重新实现这个颜色选择器,以及它在实际开发中的应用。 ...
在Android开发中,颜色选择器(ColorPicker)是不可或缺的一部分,尤其在用户界面设计和个性化设置上起到关键作用。一个完善的Android颜色选择器应该具备多种功能,如选择颜色区域、调整色调、设置透明度等,以满足...
在Qt框架中,颜色选择器是一种用户界面组件,允许用户从丰富的颜色库中选择颜色,或者自定义新的颜色。这个特定的"Qt颜色选择器"实现了HSV(色相、饱和度、值)色彩模型,并且增加了对不透明度(或称 alpha 通道)的...
在IT行业中,前端开发是至关重要的一环,而用户体验的优化往往体现在细节上,如颜色选择器的使用。本文将深入探讨基于EasyUI的TextBox颜色选择器及其源码,帮助开发者理解这一组件的工作原理并实现自定义功能。 ...
在网页设计中,颜色选择器是一个非常重要的工具,它允许用户在前端界面选取所需的颜色,以便于设置背景、文本、边框等元素的颜色。在JavaScript(JS)中实现颜色选择器,可以提供用户友好的交互体验,使得网页设计...
在这个特定的项目"Android Studio项目颜色选择器"中,我们关注的是一个用于用户选择颜色的组件,它具备多语言支持、屏幕旋转适应以及尺寸调整的能力。 颜色选择器在许多应用中都是一个重要的组成部分,例如设计工具...
在Android开发中,颜色选择器(Color Picker)是用户界面中的一个重要组件,它允许用户从预设的颜色选项中选择一种,或者自定义颜色。本文将详细介绍Android颜色选择器的种类、实现方式以及如何在项目中集成这4种...
untiy颜色选择器,像自带的颜色选择器一样选择颜色
在Windows Presentation Foundation (WPF) 中,开发人员可以创建丰富的用户界面,其中包括各种控件,如颜色选择器。本主题将深入探讨如何实现一个类似Microsoft Office Word中的颜色选择器,以便用户能方便地选取和...
"颜色选择器colorPicker"是一个基于ASP.NET的CSS颜色编辑工具,主要针对前端开发者和UI设计师,用于方便地选取和编辑颜色。这个控件能够帮助用户在网页设计中精确地控制元素的颜色,提升用户体验和界面美观度。它...
在ExtJS中,颜色选择器(Color Picker)是一个常见的组件,用于让用户在多种颜色中选择一种。本实例中的"Extjs颜色选择器"提供了一个完整的实现,方便开发者直接在项目中使用。 在描述中提到的"ColorField.html"...
颜色选择器是网页开发中常用的一种交互元素,用于让用户在界面上选取颜色。在这个名为"颜色选择器代码"的资源中,包含有实现颜色选择功能的JavaScript(js)和Java Server Pages(jsp)代码,方便开发者直接引入到...
标题中的“一个用WPF写的颜色选择器”指的是使用Windows Presentation Foundation (WPF)这一Microsoft的UI框架开发的颜色选择用户界面组件。WPF是.NET Framework的一部分,它提供了丰富的图形渲染能力,使得开发者...
在这个特定的项目中,我们讨论的是一个自定义的控件——颜色选择器,它特别强调了对透明度的支持。这样的控件在设计界面时非常有用,特别是在需要用户自定义色彩,例如在图像编辑、绘图软件或者任何需要调整颜色属性...
本篇将深入探讨如何在Android平台上实现一个RGB颜色选择器。 首先,我们需要理解RGB颜色模型。RGB模型基于加色混合原理,即红、绿、蓝三种颜色的光按不同比例混合可以产生所有可见颜色。每种颜色的值范围通常在0到...
网页颜色选择器是一种工具,它允许用户在网页设计或开发过程中选取特定的颜色,用于设置文本、背景、边框等元素的颜色。颜色选择器通常配备有多种界面和功能,以帮助用户方便地找到理想的颜色组合。在网页设计中,...
在Android开发中,颜色选择器(ColorPicker)是一种常见的用户界面元素,允许用户从预设的颜色集合中选择或自定义颜色。它广泛应用于各种场景,如设置应用主题、选择文字颜色、绘制工具等。本篇文章将深入探讨...
《颜色选择器——bigColorpicker深度解析》 在网页设计中,颜色选择器是一个不可或缺的交互元素,它允许用户在多种色彩中选取所需的颜色。本文将深入探讨名为"bigColorpicker"的颜色选择器,它是基于jQuery、...