• 1.创建自定义view类 @SuppressLint("AppCompatCustomView") public class Custom_show extends ImageView { private Paint paint; public Custom_show(Context context) { super(context);... ...
    1.创建自定义view类
    
    ```
    @SuppressLint("AppCompatCustomView")
    public class Custom_show extends ImageView {
    
    
        private Paint paint;
    
        public Custom_show(Context context) {
            super(context);
        }
    
        public Custom_show(Context context, @Nullable AttributeSet attrs) {
            super(context, attrs);
        }
    
        public Custom_show(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Drawable drawable = getDrawable();
            if (drawable != null) {
                Bitmap bitmap = getCircleBitmap(((BitmapDrawable)drawable).getBitmap());
                canvas.drawBitmap(bitmap,0,0,paint);
            } else {
                super.onDraw(canvas);
            }
    
        }
    
        private Bitmap getCircleBitmap(Bitmap bitmap) {
            int width = bitmap.getWidth();
            int height = bitmap.getHeight();
            //计算圆的半径
            int radius;
            if (width > height) {
                radius = height / 2;
            } else {
                radius = width / 2;
            }
            //新建画笔
            paint = new Paint();
            paint.setColor(Color.GRAY);
            Bitmap b = Bitmap.createBitmap(bitmap.getWidth(),
                    bitmap.getHeight(), Bitmap.Config.ARGB_8888);
            //使用canvas绘制一个bitmap处理
            Canvas canvas = new Canvas(b);
            canvas.drawCircle(width / 2, height / 2, radius, paint);
            paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
            canvas.drawBitmap(bitmap, 0, 0, paint);
            return b;
        }
    }
    
    ```
    2.实现
    布局
    
    ```
    
    ```
    
    ```
    public class ShowActivity extends AppCompatActivity{
    
    
        private Custom_show show;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_show);
    
            show = findViewById(R.id.custom);
            Glide.with(this).load("https://avatar.csdnimg.cn/C/9/1/1_weixin_44310357.jpg").into(show);
            show.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(show,"rotation",360f);
                    objectAnimator.setDuration(3000);
                    objectAnimator.start();
                }
            });
    
        }
    }
    
    ```
    
    
    展开全文
  • Android之圆形旋转动画 2018-11-27 08:37:58
    Android之圆形旋转动画 Android动画用到的地方还是很多的。 废话不多说了 还是直接上代码比较舒服。 import android.animation.ObjectAnimator; import android.content.Context; import android.graphics....
  • 想要知道关于更多自定义View的实例,请参考:android自定义View索引先上个效果图,以免大家跑错地了。 嗯,除了只能录三秒,其他没啥问题。 下面分析一下怎么实现上面这个效果。 理性分析后我们可以看到是几个小球绕...
  • 最近闲来无事,自定义了一个环状进度条,话补多说直接上代码 :public class CircleProgressView extends View{ private Paint mCirPaint; private Paint mArcPaint; private Paint mTextPaint;...
  • android等待旋转圆圈动画 2019-01-10 18:16:56
    先创建一个动画的xml文件例如以下 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android=“http://schemas.android.com" android:oneshot=&...
  • 自定义加载等待View,模拟小球在最低点以一定初速度在重力作用下绕圆环做变速圆周运动的效果(详见:http://blog.csdn.net/l_wwbs/article/details/53408830)。
  • 前言最近看框架和源码比较多,很久没有写动画了,相信很多的朋友都对动画感兴趣,我也不例外,毕竟做前端还是要靠动画特效吃饭的,并且比写功能模块更有成就感。今天我们就来个稍微简单一点的CircleProgressBar热个...
  • Android开发 ImageView上绘制旋转圆环(透明度不同的旋转圆环,利用canvas drawArc实现)
  • Android酷炫的加载动画 2016-05-08 16:38:41
    LoadingDrawable ...一些酷炫的加载动画, 可以与任何View配合使用,作为加载动画或者Progressbar, 此外很适合与RecyclerRefreshLayout 配合使用作为刷新的loading 动画   功能 圆形滚动系列 ...
  • 圆环的一部分顺时针、逆时针旋转形成了一个整圆环,关于圆环的loading进度条加载动画ppt模板。
  • android属性动画圆环+箭头 2017-11-22 09:36:06
    在values目录下创建attrs.xml main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" x
  • Android属性动画应用超简单代码打造酷炫扇形(卫星),圆形菜单 在上一篇[Android属性动画上手实现各种动画效果,自定义动画,抛物线等] (http://blog.csdn.net/linglongxin24/article/details/53084234)对属性动画做...
  • 现在市面大多数app都有拥有自己独特风格的加载动画,而不是谷歌为我们提供的菊花圈。一个绚丽美观的加载动画可以消除用户的等待焦虑。本文主要介绍利用自定义view打造一个绚丽的加载动画。先看效果图: 2、动画分析...
  • Android实现3个圆圈的动画 2010-11-05 17:32:00
      画圆圈的View import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android....
  • 简介昨天在简书上看到一篇文章,介绍了一个加载动画的实现过程 一款Loading动画的实现思路(一) 只可惜原动画是IOS上制作的,而看了一下,作者的实现思路比较复杂,于是趁着空闲写了一个Android版本,这篇文章将...
  • 从上面的gif图中可以看到,这个加载动画有成功,失败两种状态,由于Gif速度比较快,我们再来分别看一张慢图 1、成功状态加载动画 成功状态加载动画 成功动画的状态转移描述如下: 1、加载过程,画蓝色...
  • Android 实现自定义圆环 2019-06-21 09:54:57
    这是一个自定义的圆环图像,支持动画展示,可以自定义圆环的颜色和占比,主要用以展示一些数据占比方面展示的android圆环圆环实现思路: android的自定义圆环实现有很多种方法,这里只介绍我实现的思路。主要思路...
  • 项目需要中需要更换progressbar的旋转背景,在网上找了几种办法,...一 首相在drawable文件夹中建立如下旋转动画文件  android:drawable="@drawable/loading1"  android:pivotX="50%"  android:pivotY="5
  • 就是一个颜色可以渐变的圆环,最后实现的效果如下图:左图是带渐变效果,右图是不带渐变效果。原理还是绘图,Canvas可以绘制的对象有:弧线(arcs)、填充颜色(argb和color)、 Bitmap、圆(circle和oval)、点(point)、...
  • Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。 第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。 ...
1 2 3 4 5 ... 20
收藏数 1,704
精华内容 681