此文引用的是58同城的加载动画,虽然出来有一些年头了,但我表示使用的时候因技术原因我还是遇到了一些或大或小的坑。
转载请注明:http://blog.youkuaiyun.com/qq_20451879/article/details/73129741
Effect :
原作者的Git地址:
https://github.com/zzz40500/android-shapeLoadingView
首先在build.gradle (app) 导入依赖 :
compile 'com.github.zzz40500:android-shapeLoadingView:1.0.3.2'
在正式使用之前,先来看一下你或许会遇到的坑:
1.在Github中有以下这样的一段引用
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
这里相对应的Build.gradle是我们对应的项目,而不是app!如果你直接在最初的repositories下引用这段代码,那么可能就会出错,同步失败
解决方案:
尝试不在repositories下添加这段代码,而换在allprojects下的repositories去添加这段代码
allprojects {
repositories {
jcenter()
maven {
url "https://jitpack.io"
}
}
}
2.如果还有失败的话,可以在当前的build文件中下的dependencies内部添加以下俩行代码
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
classpath 'com.github.dcendents:android-maven-plugin:1.2'
处理误区(我在处理引入失败的时候尝试的方法)
1.settings.gradle下添加include标签
include ':shapeloading'
2.在build.gradle(app)下添加依赖
compile project(':shapeloading')
处理想法:如果使用这个方法可能需要我们导入对应的项目,进行引用,所以处理之前的俩点问题就可以,误区只是想看看大家是否遇到一样的问题
当我们依赖导入正常时候,使用起来就非常简单了,Please Into Code Time(是不是非常口语化,哈哈).
当我们引入成功之后XML中就可以调出以下的这个控件:
<com.mingle.widget.LoadingView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
MainActivity(原封不动的代码,显示与否自己对应判断就好,主要在XML中) :
package com.example.dow.loadingview;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import com.mingle.widget.LoadingView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
activity_main
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.dow.loadingview.MainActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true"
>
<com.mingle.widget.LoadingView
android:id="@+id/load"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
<TextView
android:layout_width="match_parent"
android:text="正在加载..."
android:gravity="center"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>