Android进阶之路

来源:互联网 发布:深圳软件开发工资水平 编辑:程序博客网 时间:2024/05/20 06:09

此文引用的是58同城的加载动画,虽然出来有一些年头了,但我表示使用的时候因技术原因我还是遇到了一些或大或小的坑。

转载请注明:
http://blog.csdn.net/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);    }}

MainActivity Xml :

<?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>