在本文中,在Android中添加了LoadingButton 。每当用户点击它时, LoadingButton就会为我们提供令人惊叹的UI和动画。在应用程序中添加一个LoadingButton非常容易。它与android中的Button非常相似,只需添加依赖项和一些属性。诸如BL_backgroundColor , BL_circleColor , BL_circleColorSecond , BL_stateShow之类的标签可用于自定义“加载按钮” 。在开发人员希望用户等待一段时间的任何地方都可以使用“加载按钮视图”。我们也可以使用进度栏代替它,但是“加载按钮”提供了独特而诱人的UI并增加了用户体验。它也可以为开发人员提供完全控制,因为可以根据要求进行自定义。
方法:
步骤1:在根build.gradle文件(而不是模块build.gradle文件)中添加支持库。这个库jitpack是一个新颖的软件包存储库。它是为JVM设计的,因此github和bigbucket中存在的任何库都可以直接在应用程序中使用。
XML
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
XML
dependencies {
//For Snackbar
implementation 'com.google.android.material:material:1.1.0'
//For LoadingButton
implementation 'com.github.andreasagap:LoadingButtonLibrary:v1.0'
}
activity_main.xml
MainActivity.java
package org.geeksforgeeks.loadingbutton
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.material.snackbar.BaseTransientBottomBar;
import com.google.android.material.snackbar.Snackbar;
import andreasagap.loadingbutton.ButtonLoading;
public class MainActivity extends AppCompatActivity {
ButtonLoading loading_button;
ConstraintLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout = findViewById(R.id.root);
loading_button =findViewById(R.id.loadingbutton);
loading_button.setRoot(loading_button,this, layout);
//set OnClickListner to button
loading_button.setOnButtonLoadingListener(
new ButtonLoading.OnButtonLoadingListener() {
@Override
public void onClick() {
}
@Override
public void onStart() {
Toast.makeText(MainActivity.this,
"Loading Start", Toast.LENGTH_LONG).show();
}
@Override
public void onFinish() {
//show snackbar when loading finished
Snackbar.make(layout, "Thank you for
buying our Course!",
BaseTransientBottomBar
.LENGTH_LONG)
.show();
}
});
}
@Override
public void onBackPressed() {
loading_button.cancel();
}
}
步骤2:在build.gradle文件中添加支持库,并在“依赖项”部分中添加依赖项。
XML格式
dependencies {
//For Snackbar
implementation 'com.google.android.material:material:1.1.0'
//For LoadingButton
implementation 'com.github.andreasagap:LoadingButtonLibrary:v1.0'
}
步骤3:在activity_main.xml文件中添加以下代码。在此文件中,我们将我们的LoadingButton添加到布局中。
activity_main.xml
步骤4:在MainActivity中添加以下代码。 Java文件。在此文件中,将“加载按钮”附加到根布局,然后向其添加侦听器。因此,每当用户点击它时, setOnButtonLoadingListener都会自动被调用。在侦听器内部,存在三种方法onClick(),onStart()和onFinish()。在onClick方法内,添加单击按钮时应执行的代码,在onStart()方法中,添加单击按钮时应立即执行的代码,在onFinish()方法中,添加在单击按钮后执行的代码。执行其他两个功能。
主要活动。Java
package org.geeksforgeeks.loadingbutton
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.material.snackbar.BaseTransientBottomBar;
import com.google.android.material.snackbar.Snackbar;
import andreasagap.loadingbutton.ButtonLoading;
public class MainActivity extends AppCompatActivity {
ButtonLoading loading_button;
ConstraintLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout = findViewById(R.id.root);
loading_button =findViewById(R.id.loadingbutton);
loading_button.setRoot(loading_button,this, layout);
//set OnClickListner to button
loading_button.setOnButtonLoadingListener(
new ButtonLoading.OnButtonLoadingListener() {
@Override
public void onClick() {
}
@Override
public void onStart() {
Toast.makeText(MainActivity.this,
"Loading Start", Toast.LENGTH_LONG).show();
}
@Override
public void onFinish() {
//show snackbar when loading finished
Snackbar.make(layout, "Thank you for
buying our Course!",
BaseTransientBottomBar
.LENGTH_LONG)
.show();
}
});
}
@Override
public void onBackPressed() {
loading_button.cancel();
}
}
输出:
参考: https : //github.com/andreasagap/LoadingButtonLibrary