在android Studio的gradle中加入
dependencies {
implementation 'com.wang.avi:library:2.1.3' // 加载动漫
}
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:id="@+id/alert" android:clickable="true" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:orientation="vertical" android:layout_gravity="center" android:background="@color/result_view" android:gravity="center" android:id="@+id/list_item" android:layout_height="match_parent"> <com.wang.avi.AVLoadingIndicatorView android:layout_width="wrap_content" android:id="@+id/avi" app:indicatorName="LineSpinFadeLoaderIndicator" android:layout_height="wrap_content" /> <TextView android:layout_width="match_parent" android:text="拼命加载中.." android:id="@+id/text" android:layout_marginTop="2dp" android:textSize="16dp" android:textColor="@color/possible_result_points" android:gravity="center" android:layout_height="24dp" /> </LinearLayout> </RelativeLayout>
app:indicatorName="LineSpinFadeLoaderIndicator" 加载动漫的图案 使用其它的图案可参考 https://www.cnblogs.com/Free-Thinker/p/6375153.html
public LoadAlert(Context context, final RelativeLayout lin) { LayoutInflater inflater = LayoutInflater.from(context); final RelativeLayout layout = inflater.inflate(R.layout.activity_avi, null).findViewById(R.id.alert); avi = layout.findViewById(R.id.avi); this.lin = lin; this.layout = layout; insertAvi = this; avi.show(); // 启动动漫 隐藏 avi.hide() lin.addView(layout); }
public RelativeLayout getLoadAlert(){ return layout; }
}
在使用的网络请求中使用 layout = new LoadAlert(Pan2Activity.this,relative).getLoadAlert();
效果如图: