登陆 | 注册 设为首页 | 加入收藏 | 联系我们
太和养老网
热词老年艺术  助老机构  养老系统  

中心区域北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 香港 澳门 台湾 全国城市养老院目录 全国县市养老院汇总目录 太和AI作品展 太和养老艺术网AI作品展示

您现在所在位置:首页 > 养老信息化 > Android 大转盘-飞
Android 大转盘-飞

 

2023/7/6 17:08:31 ('互联网')

商品角度朝中心位置偏转。

 // 外部调用方法   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 举报,一经查实,本站将立刻删除。



扫码加微信详细咨询太和智慧养老产品和平台服务!

 

养老资讯
助老机构介绍
评论
已有 0 条评论

最新评论

推荐养老院

您希望养老院位于
  • 不限
  • 东城
  • 西城
  • 崇文
  • 宣武
  • 朝阳
  • 丰台
  • 石景山
  • 海淀
  • 门头沟
  • 房山
  • 通州
  • 顺义
  • 昌平
  • 大兴
  • 怀柔
  • 平谷
  • 延庆
  • 密云
您希望的价格范围
  • 不限
  • 500以下
  • 500-1000
  • 1000-2000
  • 2000-3000
  • 3000-5000
  • 5000以上
老人的情况是
  • 不限
  • 自理
  • 半自理
  • 全护理
  • 特护

姓名

年龄

电话

全国城市养老院



关于我们 | 联系方式 | 网站地图 | 友情链接

Copyright 2010-2022 京ICP备18035644号-3 北京太和 版权所有