android 自定义加载中
时间: 2023-08-16 17:05:59 浏览: 128
Android自定义Loading
5星 · 资源好评率100%
如果你想要在 Android 应用中使用自定义的加载动画,可以通过创建自定义的布局和使用 Animation 类来实现。以下是一个简单的示例,演示如何在 Android 应用中自定义加载动画:
首先,在 res/layout 目录下创建一个新的布局文件,例如 custom_loading.xml,其中包含自定义的加载动画布局,例如:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<ImageView
android:id="@+id/loading_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/custom_loading_animation"
android:layout_marginBottom="16dp"/>
<TextView
android:id="@+id/loading_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading..."
android:textColor="@android:color/white"/>
</LinearLayout>
```
其中,loading_image 是一个自定义的加载动画的 ImageView,loading_text 是一个文本视图,用于显示加载消息。
接下来,在 res/drawable 目录下创建一个新的动画文件,例如 custom_loading_animation.xml,其中包含自定义的加载动画动画,例如:
```xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/custom_loading_frame1" android:duration="100" />
<item android:drawable="@drawable/custom_loading_frame2" android:duration="100" />
<item android:drawable="@drawable/custom_loading_frame3" android:duration="100" />
<item android:drawable="@drawable/custom_loading_frame4" android:duration="100" />
</animation-list>
```
其中,custom_loading_frame1、custom_loading_frame2、custom_loading_frame3、custom_loading_frame4 是自定义的加载动画的帧。
最后,在你的 Activity 中,使用 LayoutInflater 类将 custom_loading.xml 布局文件实例化为 View 对象,并使用 Animation 类将 custom_loading_animation.xml 动画文件加载到 ImageView 中,例如:
```java
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.custom_loading, null);
ImageView imageView = (ImageView) view.findViewById(R.id.loading_image);
Animation animation = AnimationUtils.loadAnimation(this, R.drawable.custom_loading_animation);
imageView.startAnimation(animation);
ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setCancelable(false);
progressDialog.show();
progressDialog.setContentView(view);
```
其中,使用 LayoutInflater 类将 custom_loading.xml 布局文件实例化为 View 对象,并使用 findViewById() 方法获取 loading_image ImageView 对象。然后,使用 AnimationUtils.loadAnimation() 方法将 custom_loading_animation.xml 动画文件加载到 ImageView 中,并调用 startAnimation() 方法开始播放动画。最后,将 View 对象设置为 ProgressDialog 的内容视图,调用 show() 方法显示 ProgressDialog。
阅读全文