方法一:
在drawable目录下创建loading_progress.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<rotate
android:drawable="@drawable/loader"
android:fromDegrees="0.0"
android:pivotX="50.0%"
android:pivotY="50.0%"
android:toDegrees="360.0" />
<!-- 其中360.0值越大,转的圈圈越快 -->
<span style="white-space:pre" />
</item>
</layer-list>
在布局文件中添加如下:
<ProgressBar
android:id="@+id/loading_loader_iv"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_marginTop="100dp"
android:contentDescription="@string/title_loader"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/loading_progress"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
方法二:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
var rotateAnimation = AnimationUtils.loadAnimation(activity, R.anim.rotation)
var loaderImageView: ImageView = requireView().findViewById(R.id.loading_loader_iv)
loaderImageView.startAnimation(rotateAnimation)
}
loading_loader_iv是ImageView
res/anim/rotation.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees ="0"
android:toDegrees ="360"
android:pivotX ="50%"
android:pivotY ="50%"
android:duration ="2000"
android:repeatCount ="-1"
/>
</set>