返回顶部
首页 > 资讯 > 移动开发 >Android自定义加载圈的方法
  • 422
分享到

Android自定义加载圈的方法

2024-04-02 19:04:59 422人浏览 独家记忆
摘要

本文实例为大家分享了Android自定义加载圈的具体代码,供大家参考,具体内容如下 <RelativeLayout xmlns:android="Http://schemas

本文实例为大家分享了Android自定义加载圈的具体代码,供大家参考,具体内容如下

<RelativeLayout xmlns:android="Http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.tlkg.welcome.loadingviewdemo.MainActivity">

    <com.tlkg.welcome.loadingviewdemo.LoadingView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerInParent="true" />

</RelativeLayout>
public class LoadingView extends LinearLayout {
    public LoadingView(Context context) {
        this(context, null);
    }

    public LoadingView(Context context, @Nullable AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public LoadingView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);

        setOrientation(VERTICAL);
        setGravity(Gravity.CENTER);
        setBackgroundResource(R.drawable.loadingsp);

        LoadView loading = new LoadView(getContext());
        loading.setLayoutParams(new ViewGroup.LayoutParams(200, 200));
        addView(loading);

        TextView tv = new TextView(getContext());
        tv.setText("正在加载中");
        LinearLayout.LayoutParams layoutParams = new LayoutParams(-2, -2);
        layoutParams.setMargins(0, 10, 0, 0);
        tv.setLayoutParams(layoutParams);
        tv.setGravity(Gravity.CENTER);
        tv.setTextColor(Color.WHITE);
        addView(tv);
    }


    class LoadView extends View {

        Paint mPaint;

        private int mWidth;
        private int mHeight;

        private int mCurrentIndex = 0;

        private int count = 12;

        public LoadView(Context context) {
            super(context);
            mPaint = new Paint();
            mPaint.setAntiAlias(true);
            mPaint.setStyle(Paint.Style.FILL);
            mPaint.setStrokeWidth(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 3, getResources().getDisplayMetrics()));
            mPaint.setColor(Color.WHITE);
        }

        @Override
        protected void onDraw(canvas canvas) {
            super.onDraw(canvas);
            if (mCurrentIndex >= count) {
                mCurrentIndex = 0;
            }

            int endAlpha = 255 / count;
            for (int i = 0; i < count; i++) {
                int alpha;
                if (mCurrentIndex - i > 0) {
                    alpha = endAlpha * (mCurrentIndex - i);
                } else {
                    alpha = 255 - 255 / count * (i - mCurrentIndex);
                }

                mPaint.setColor(Color.argb(alpha, 255, 255, 255));
                canvas.drawLine(mWidth / 2, 0, mWidth / 2, TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics()), mPaint);
                canvas.rotate(360 / count, mWidth / 2, mHeight / 2);
            }
            mCurrentIndex++;
            postInvalidateDelayed(100);
        }

        @Override
        protected void onSizeChanged(int w, int h, int oldw, int oldh) {
            super.onSizeChanged(w, h, oldw, oldh);
            mWidth = getWidth();
            mHeight = getHeight();
        }
    }
}
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="5dp" />
    <solid android:color="#aa000000" />
</shape>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Android自定义加载圈的方法

本文链接: https://lsjlt.com/news/152206.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android自定义加载圈的方法
    本文实例为大家分享了Android自定义加载圈的具体代码,供大家参考,具体内容如下 <RelativeLayout xmlns:android="http://schemas...
    99+
    2024-04-02
  • Android如何自定义加载圈
    本篇内容介绍了“Android如何自定义加载圈”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!<RelativeLayout ...
    99+
    2023-07-02
  • Adnroid 自定义ProgressDialog加载中(加载圈)
    前两天在做项目的时候发现有时候在访问网络数据的时候由于后台要做的工作较多,给我们返回数据的时间较长,所以老大叫我加了一个加载中的logo图用来提高用户体验.于是就在网上找了许多大神写的案例,再结合自己的情况完成了一个Loading工具类效果...
    99+
    2023-05-31
    android progressdialog gr
  • Android中怎么自定义加载圈动画效果
    这篇文章给大家介绍Android中怎么自定义加载圈动画效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体代码如下:package blog.csdn.net.mchenys.myanimationload...
    99+
    2023-05-30
    android
  • Android自定义ProgressDialog加载图片
    为了提高用户体验,我们肯定希望该Dialog能更加炫酷,让用户看着更舒服。那如何做呢,当然是我们自己定义一个ProgressDialog了。 一、使用系统加载框 mDia...
    99+
    2022-06-06
    图片 progressdialog Android
  • Android自定义加载框效果
    本文实例为大家分享了Android自定义加载框效果的具体代码,供大家参考,具体内容如下 效果图 菊花图标(mipmap-xxhdpi) 加载框圆角背景drawable <...
    99+
    2024-04-02
  • android自定义View圆圈拖动
    本文实例为大家分享了android自定义View圆圈拖动的具体代码,供大家参考,具体内容如下 问题: 1 . 累加问题:“点击坐标”坐标在移动时必须改变位置,不然将导致累加过载 2....
    99+
    2024-04-02
  • Android自定义仿ios加载弹窗
    本文实例为大家分享了Android自定义仿ios加载弹窗的具体代码,供大家参考,具体内容如下 效果如下: IosLoadDialog类(可直接复制): public class...
    99+
    2024-04-02
  • Android自定义荷载进度的两种方法
    本文将用两个方法来写类似汽车荷载的进度 用LinearLayout的addview方法加上for循环 用自定义控件的方法 先上截图 1. 用LinearLayout的...
    99+
    2022-06-06
    方法 Android
  • 自定义log4j.properties的加载位置方式
    目录自定义log4j.properties加载位置方法一方法二方法三log4j.properties自定义路径在web.xml 下面配这些参数自定义log4j.properties加...
    99+
    2024-04-02
  • Android自定义View实现圆形加载进度条效果的方法
    这篇文章将为大家详细讲解有关Android自定义View实现圆形加载进度条效果的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。View仿华为圆形加载进度条效果图实现思路可以看出该View可分为三个部分...
    99+
    2023-05-30
    android view 进度条
  • 一款超酷的Android自定义加载控件
    在设计应用的时候,我们应该热爱极简主义,简单就是好的,对于很多用户来说,复杂的东西并不受欢迎。 我要实现的是根据不同的情况去显示不同的加载效果,随用随调,效果是借鉴于某一项目...
    99+
    2022-06-06
    Android
  • Android自定义加载控件实现数据加载动画
    本文实例为大家分享了Android自定义加载控件,第一次小人跑动的加载效果眼前一亮,相比传统的PrograssBar高大上不止一点,于是走起,自定义了控件LoadingView...
    99+
    2022-06-06
    数据 动画 Android
  • Android自定义加载loading view动画组件
    在github上找的一个有点酷炫的loading动画https://github.com/Fichardu/CircleProgress  我写写使用步骤 ...
    99+
    2022-06-06
    view loading Android
  • Android自定义下拉刷新上拉加载
    本文实例为大家分享了Android自定义下拉刷新上拉加载的具体实现步骤,供大家参考,具体内容如下 实现的方式是SwipeRefreshLayout + RecyclerView...
    99+
    2022-06-06
    Android
  • Android 自定义标题栏 显示网页加载进度的方法实例
    这阵子在做Lephone的适配,测试组提交一个bug:标题栏的文字较长时没有显示完全,其实这并不能算个bug,并且这个问题在以前其他机器也没有出现,只是说在Lephone的这个...
    99+
    2022-06-06
    自定义 方法 标题栏 Android
  • Android实现自定义加载框的代码示例
    App在与服务器进行网络交互的时候,需要有一个提示的加载框,如图: 此时我们可以自定义一个加载中的对话框,代码如下: public class LoadingDialog...
    99+
    2022-06-06
    自定义 示例 Android
  • Android开发之自定义加载动画详解
    目录一、demo简介二、分析贪吃动画的尺寸比例三、画圆四、实现张嘴闭嘴动画五、小球移动动画一、demo简介 1.效果展示如下图,我截了三个瞬间,但其实这是一个连续的动画,就是这个大圆...
    99+
    2024-04-02
  • Android开发中如何自定义加载动画
    这篇文章主要为大家展示了“Android开发中如何自定义加载动画”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android开发中如何自定义加载动画”这篇文章吧。一、demo简介效果展示如下图,...
    99+
    2023-06-29
  • Android中怎么自定义新闻加载页面
    本篇文章给大家分享的是有关Android中怎么自定义新闻加载页面,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先的定义三个布局,为什么是三个,因为unkonw与loading...
    99+
    2023-05-30
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作