商品角度朝中心位置偏转。
// 外部调用方法 private void getImg(String logoURL) { ImageView imageView1 = new ImageView(this); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(214, 308); imageView1.setLayoutParams(params); Picasso.with(this).load(logoURL).into(imageView1); mLuckyPanView.setChildView(imageView1);}public class TurntableView extends ViewGroup {InterfaceBackToast interfaceBackToast = null;/** * 自定义控件的自定义事件 * @para m iBack 接口类型 */public void setonClick(InterfaceBackToast iBack) { interfaceBackToast = iBack;}public void onDestory() {}public interface InterfaceBackToast { public void oninterfaceback();}/** * 1.绘制背景圆圈 * 2.添加 addImageView 形成一个圈。 */private int mWidth; //ViewGroup 宽度private PointF mCenterPoint;private int LayoutRadius; //直径private int childCount = 0;private volatile float mStartAngle = 270;/** * 滚动的速度 */private float mSpeed = 0;/** * 是否滑动 */private boolean isFling = false;/** * 绘制盘快的画笔 */private Paint mArcPaint;/** * 绘制盘块的范围 */private RectF mRange = new RectF();public TurntableView(Context context, AttributeSet attrs) { super(context, attrs); init();}@Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b) { Log.d("onlayout", "onlayout 进来"); if(!isFling){ if (getChildCount() != 0){ mStartAngle = 270 - 360 / getChildCount() /2; } } setChildLayout(l, t, r, b);}private void init() { mCenterPoint = new PointF(); mArcPaint = new Paint(); mArcPaint.setAntiAlias(true); mArcPaint.setDither(true); //调用这句话,要不然不能绘制onDraw方法 setWillNotDraw(false);}//父类控件的可用大小@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); mWidth = measureHanlder(widthMeasureSpec); int width = mWidth; /** * 宽和高 选择其中一个最小的来设置 view宽高 */ mCenterPoint.x = mWidth / 2; mCenterPoint.y = mWidth / 2; LayoutRadius = width - getPaddingLeft() - getPaddingRight(); mRange = new RectF(getPaddingLeft(), getPaddingLeft(), LayoutRadius + getPaddingLeft() , LayoutRadius + getPaddingLeft()); /** * 测绘子view的大小 */ for (int i = 0; i < getChildCount(); i++) { View view = getChildAt(i); measureChild(view, MeasureSpec.makeMeasureSpec(100, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(100, MeasureSpec.AT_MOST)); } setMeasuredDimension(width, width); Log.d("onDraw", "onMeasure");}@Overrideprotected void onDraw(Canvas canvas) { Log.d("onDraw", "onDraw"); float tmpAngle = mStartAngle; float sweepAngle; if (childCount != 0) { sweepAngle = 360 / childCount; } else { //当什么奖品没有的时候,设置的颜色。 sweepAngle = 360; mArcPaint.setColor(Color.argb(0, 0, 0, 0)); canvas.drawArc(mRange, tmpAngle, sweepAngle, true, mArcPaint); } /** * 绘制转盘的背景 */ for (int i = 0; i < childCount; i++) { if (i % 2 == 0) { mArcPaint.setColor(Color.rgb(254, 227, 76)); } else { mArcPaint.setColor(Color.rgb(1, 136, 200)); } canvas.drawArc(mRange, tmpAngle, sweepAngle, true, mArcPaint); tmpAngle += sweepAngle; } if (isFling) { setChildLayout(0, 0, 0, 0); }}//设置view的位置private void setChildLayout(int l, int t, int r, int b) { childCount = getChildCount(); if (childCount == 0) return; float childAngle = (float) (360 / childCount); Log.d("childAngle", "childAngle=" + childAngle); float tmpAngle = mStartAngle; for (int i = 0; i < childCount; i++) { //开始绘制自布局的时候,就已经得到该布局的大小了 View view = getChildAt(i); int childHeight = view.getMeasuredHeight(); int childWidth = view.getMeasuredWidth(); // Log.d("onlayout", "childHeight=" + childHeight + " childWidth=" + childWidth); drawIcon(tmpAngle, view, childWidth, childHeight, i); Log.d("tmpAngle", "tmpAngle=" + tmpAngle + " i=" + (i + 1)); tmpAngle += childAngle; }}/** * android 30° 是顺时针方向.
扫码加微信详细咨询太和智慧养老产品和平台服务!
版权声明:
---------------------------------------------------------------
所有信息来源于互联网,本文的版权归原作者所有,不代表本网观点和立场。
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 81480447@qq.com 举报,一经查实,本站将立刻删除。
扫码加微信详细咨询太和智慧养老产品和平台服务!
养老资讯
- 表扬优秀员工的评语(优秀
- 租赁房屋合同怎么写(房屋
- 100个体育项目(100
- 孤帆远影碧空尽下一句(孤
- 三字顺口名字公司(三字顺
- 大学英语四级作文十篇(英
- 拙怎么读怎么组词?拙的组
- 我好像在哪见过你吉他谱(
- 关于晚春的诗句?晚春古
- 春游作文开头结尾优美段落
- 五年级上册的语文书(五年
- 常回家看看歌词(常回家看
- 描写自然景物的四字词语(
- 春节是什么时候(什么时候
- 所组词 汉字所怎么组词?
- 自信作文300字(给我自
- 环保作文500字左右六年
- 高考作文素材金句(202
- 祝福老师的语句(祝福语句
- 思想作风纪律整顿心得体会
- 人生失意的诗句(描写人生
- 大头皮鞋原唱 简单介绍一
- 国庆周记300字左右(国
- 2022年冬奥会简介(2
- 超急 58道趣味数学题?
- 超短英语作文5篇(英语作
- 生活微笑正能量的句子(微
- 初学剪纸入门(剪纸前如何
- really(reall
- 大学奖学金怎么申请(大学
- 普通话朗读60篇注音版(
- 劳动节的意义50字(劳动
- 和谐作文400字(表现人
- 师恩难忘下一句是啥(师恩
- 入党积极分子心得体会格式
- 有没有嚣张歌词 嚣张歌简
- 泄露的反义词(泄露的反义
- 入学申请书范文(学生入学
- 神笔马良的故事完整版(神
- 议论文怎么写格式(议论文
助老机构介绍
姓名:
年龄:
电话: