diff --git a/app/build.gradle b/app/build.gradle index 8807715..ed0c2af 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.2" + compileSdkVersion 33 defaultConfig { applicationId "com.wang.avi.sample" - minSdkVersion 14 - targetSdkVersion 23 + minSdkVersion 16 + targetSdkVersion 33 versionCode 33 versionName "2.1.3" } @@ -17,11 +16,18 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + + compileOptions { + targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_1_8 + } + namespace 'com.wang.avi.sample' } dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:appcompat-v7:23.2.0' - compile 'com.android.support:recyclerview-v7:23.2.0' - compile project(':library') + implementation project(':library') + implementation fileTree(include: ['*.jar'], dir: 'libs') + + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'androidx.recyclerview:recyclerview:1.3.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 342ead3..8eea580 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,22 +1,21 @@ - + + android:theme="@style/AppTheme"> + android:exported="true" + android:label="@string/app_name"> - + - diff --git a/app/src/main/java/com/wang/avi/sample/IndicatorActivity.java b/app/src/main/java/com/wang/avi/sample/IndicatorActivity.java index 94073c6..c9c1e63 100644 --- a/app/src/main/java/com/wang/avi/sample/IndicatorActivity.java +++ b/app/src/main/java/com/wang/avi/sample/IndicatorActivity.java @@ -1,8 +1,8 @@ package com.wang.avi.sample; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.wang.avi.AVLoadingIndicatorView; @@ -11,8 +11,7 @@ * Created by Jack Wang on 2016/8/5. */ -public class IndicatorActivity extends AppCompatActivity{ - +public class IndicatorActivity extends AppCompatActivity { private AVLoadingIndicatorView avi; @Override @@ -20,8 +19,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_indicator); - String indicator=getIntent().getStringExtra("indicator"); - avi= (AVLoadingIndicatorView) findViewById(R.id.avi); + String indicator = getIntent().getStringExtra("indicator"); + avi = (AVLoadingIndicatorView) findViewById(R.id.avi); avi.setIndicator(indicator); } diff --git a/app/src/main/java/com/wang/avi/sample/MyCustomIndicator.java b/app/src/main/java/com/wang/avi/sample/MyCustomIndicator.java index 56fe1a0..4834eb3 100644 --- a/app/src/main/java/com/wang/avi/sample/MyCustomIndicator.java +++ b/app/src/main/java/com/wang/avi/sample/MyCustomIndicator.java @@ -4,6 +4,7 @@ import android.graphics.Paint; import android.animation.ValueAnimator; + import com.wang.avi.Indicator; import java.util.ArrayList; @@ -12,29 +13,26 @@ * Created by Jack Wang on 2016/8/5. */ -public class MyCustomIndicator extends Indicator{ - - - public static final float SCALE=1.0f; +public class MyCustomIndicator extends Indicator { + public static final float SCALE = 1.0f; //scale x ,y - private float[] scaleFloats=new float[]{SCALE, + private float[] scaleFloats = new float[]{SCALE, SCALE, SCALE, SCALE, SCALE}; - @Override public void draw(Canvas canvas, Paint paint) { - float circleSpacing=4; - float radius=(Math.min(getWidth(),getHeight())-circleSpacing*2)/12; - float x = getWidth()/ 2-(radius*2+circleSpacing); - float y=getHeight() / 2; + float circleSpacing = 4; + float radius = (Math.min(getWidth(), getHeight()) - circleSpacing * 2) / 12; + float x = getWidth() / 2 - (radius * 2 + circleSpacing); + float y = getHeight() / 2; for (int i = 0; i < 4; i++) { canvas.save(); - float translateX=x+(radius*2)*i+circleSpacing*i; + float translateX = x + (radius * 2) * i + circleSpacing * i; canvas.translate(translateX, y); canvas.scale(scaleFloats[i], scaleFloats[i]); canvas.drawCircle(0, 0, radius, paint); @@ -44,18 +42,18 @@ public void draw(Canvas canvas, Paint paint) { @Override public ArrayList onCreateAnimators() { - ArrayList animators=new ArrayList<>(); - int[] delays=new int[]{120,240,360,480}; + ArrayList animators = new ArrayList<>(); + int[] delays = new int[]{120, 240, 360, 480}; for (int i = 0; i < 4; i++) { - final int index=i; + final int index = i; - ValueAnimator scaleAnim=ValueAnimator.ofFloat(1,0.3f,1); + ValueAnimator scaleAnim = ValueAnimator.ofFloat(1, 0.3f, 1); scaleAnim.setDuration(750); scaleAnim.setRepeatCount(-1); scaleAnim.setStartDelay(delays[i]); - addUpdateListener(scaleAnim,new ValueAnimator.AnimatorUpdateListener() { + addUpdateListener(scaleAnim, new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { scaleFloats[index] = (float) animation.getAnimatedValue(); diff --git a/app/src/main/java/com/wang/avi/sample/SampleActivity.java b/app/src/main/java/com/wang/avi/sample/SampleActivity.java index f6f2d8d..0cc9e2c 100644 --- a/app/src/main/java/com/wang/avi/sample/SampleActivity.java +++ b/app/src/main/java/com/wang/avi/sample/SampleActivity.java @@ -2,21 +2,21 @@ import android.content.Intent; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.wang.avi.AVLoadingIndicatorView; /** * Created by Jack Wang on 2016/8/5. */ -public class SampleActivity extends AppCompatActivity{ - +public class SampleActivity extends AppCompatActivity { private RecyclerView mRecycler; @Override @@ -24,25 +24,26 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample); - mRecycler= (RecyclerView) findViewById(R.id.recycler); + mRecycler = (RecyclerView) findViewById(R.id.recycler); - GridLayoutManager layoutManager=new GridLayoutManager(this,4); + GridLayoutManager layoutManager = new GridLayoutManager(this, 4); mRecycler.setLayoutManager(layoutManager); mRecycler.setAdapter(new RecyclerView.Adapter() { @Override public IndicatorHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View itemView=getLayoutInflater().inflate(R.layout.item_indicator,parent,false); + View itemView = getLayoutInflater().inflate(R.layout.item_indicator, parent, false); return new IndicatorHolder(itemView); } + @Override public void onBindViewHolder(IndicatorHolder holder, final int position) { holder.indicatorView.setIndicator(INDICATORS[position]); holder.itemLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent intent=new Intent(SampleActivity.this,IndicatorActivity.class); - intent.putExtra("indicator",INDICATORS[position]); + Intent intent = new Intent(SampleActivity.this, IndicatorActivity.class); + intent.putExtra("indicator", INDICATORS[holder.getAbsoluteAdapterPosition()]); startActivity(intent); } }); @@ -55,21 +56,20 @@ public int getItemCount() { }); } - final static class IndicatorHolder extends RecyclerView.ViewHolder{ + final static class IndicatorHolder extends RecyclerView.ViewHolder { public AVLoadingIndicatorView indicatorView; public View itemLayout; public IndicatorHolder(View itemView) { super(itemView); - itemLayout= itemView.findViewById(R.id.itemLayout); - indicatorView= (AVLoadingIndicatorView) itemView.findViewById(R.id.indicator); + itemLayout = itemView.findViewById(R.id.itemLayout); + indicatorView = (AVLoadingIndicatorView) itemView.findViewById(R.id.indicator); } } - - private static final String[] INDICATORS=new String[]{ + private static final String[] INDICATORS = new String[]{ "BallPulseIndicator", "BallGridPulseIndicator", "BallClipRotateIndicator", diff --git a/app/src/main/res/layout/activity_sample.xml b/app/src/main/res/layout/activity_sample.xml index faae082..c4035f4 100644 --- a/app/src/main/res/layout/activity_sample.xml +++ b/app/src/main/res/layout/activity_sample.xml @@ -1,20 +1,17 @@ + android:orientation="vertical"> - - - + android:scrollbars="vertical" /> \ No newline at end of file diff --git a/build.gradle b/build.gradle index db9bae3..ec6228d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,28 +1,30 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - buildscript { repositories { + google() jcenter() + mavenCentral() + maven { url = 'https://jitpack.io' } + maven { url = 'https://maven.google.com' } } + dependencies { - classpath 'com.android.tools.build:gradle:1.5.0' + classpath 'com.android.tools.build:gradle:7.3.1' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.3.1' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' } } -Properties properties = new Properties() -properties.load(project.rootProject.file('local.properties').newDataInputStream()) - allprojects { repositories { - maven { - url properties.getProperty("sdk.dir")+"/extras/android/m2repository" - } - mavenLocal() + google() jcenter() + mavenCentral() + maven { url = 'https://jitpack.io' } + maven { url = 'https://maven.google.com' } } } + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/gradle.properties b/gradle.properties index 1d3591c..23b3308 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,16 @@ # Project-wide Gradle settings. - # IDE (e.g. Android Studio) users: # Gradle settings configured through the IDE *will override* # any settings specified in this file. - # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html - # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true \ No newline at end of file +# org.gradle.parallel=true +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d084daa..f13a392 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Oct 16 02:32:07 CST 2015 +#Fri Mar 31 13:00:18 PKT 2023 +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/library/build.gradle b/library/build.gradle index db93c09..79821df 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,36 +1,23 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 23 - buildToolsVersion "23.0.2" + compileSdkVersion 33 defaultConfig { minSdkVersion 14 - targetSdkVersion 23 - versionCode 33 - versionName "2.1.3" + targetSdkVersion 33 } + buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } -} -dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) + namespace 'com.wang.avi' } -ext { - PUBLISH_GROUP_ID = 'com.wang.avi' - PUBLISH_VERSION = '2.1.3' - PUBLISH_DES = 'Nice loading animations for Android' - LIB_NAME = 'AVLoadingIndicatorView' - - WEBSITE_URL = 'https://github.com/81813780/AVLoadingIndicatorView' - ISSUE_TRACKER_URL = 'https://github.com/81813780/AVLoadingIndicatorView/issues' - VSC_URL = 'https://github.com/81813780/AVLoadingIndicatorView' -} - -apply from: 'https://raw.githubusercontent.com/andforce/release-android-lib-to-jcenter/master/bintray.gradle' \ No newline at end of file +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) +} \ No newline at end of file diff --git a/library/src/main/AndroidManifest.xml b/library/src/main/AndroidManifest.xml index 58b5b1a..a2f47b6 100644 --- a/library/src/main/AndroidManifest.xml +++ b/library/src/main/AndroidManifest.xml @@ -1,3 +1,2 @@ - +