动画
引入依赖
implementation("io.github.maitrungduc1410:AVLoadingIndicatorView:2.1.4")
使用
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<com.wang.avi.AVLoadingIndicatorView
android:id="@+id/loading"
android:layout_gravity="center|center_vertical"
android:layout_width="120dp"
android:layout_height="120dp"
style="@style/AVLoadingIndicatorView"
android:visibility="visible"
app:indicatorColor="@color/yellow"
app:indicatorName="LineSpinFadeLoaderIndicator"
/>
</FrameLayout>
binding.loading.show() // 开启动画
binding.loading.hide() // 关闭动画
FrameLayout让AVLoadingIndicatorView可以居中展示
style="@style/AVLoadingIndicatorView"
style属性
Row 1
BallPulseIndicator
BallGridPulseIndicator
BallClipRotateIndicator
BallClipRotatePulseIndicator
Row 2
SquareSpinIndicator
BallClipRotateMultipleIndicator
BallPulseRiseIndicator
BallRotateIndicator
Row 3
CubeTransitionIndicator
BallZigZagIndicator
BallZigZagDeflectIndicator
BallTrianglePathIndicator
Row4
BallScaleIndicator
LineScaleIndicator
LineScalePartyIndicator
BallScaleMultipleIndicator
Row 5
BallPulseSyncIndicator
BallBeatIndicator
LineScalePulseOutIndicator
LineScalePulseOutRapidIndicator
Row 6
BallScaleRippleIndicator
BallScaleRippleMultipleIndicator
BallSpinFadeLoaderIndicator
LineSpinFadeLoaderIndicator
Row 7
TriangleSkewSpinIndicator
PacmanIndicator
BallGridBeatIndicator
SemiCircleSpinIndicator
异形图片
异形按钮
TextView
工具栏
输入框
<style name="InputBoxStyle">
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_marginLeft">18dp</item>
<item name="android:layout_marginRight">18dp</item>
<item name="android:background">@drawable/border_input_box</item>
<item name="android:gravity">center</item>
<item name="android:orientation">horizontal</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<stroke
android:width="1dp"
android:color="@color/border_color" />
</shape>
style="@style/InputBoxStyle"
<style name="EditTextStyle">
<item name="android:layout_marginTop">5dp</item>
<item name="android:layout_marginRight">10dp</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:layout_marginLeft">10dp</item>
<item name="android:background">@null</item>
</style>
style="@style/EditTextStyle"
圆形,圆角
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">//oval是圆形标配
<stroke
android:color="#DDEFE3"
android:width="2dp"/>//边框
<solid android:color="#A8D8CD"/>//内部
<size android:width="80dp" android:height="80dp"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="50dp" /> <!-- 圆角角度 -->
<solid android:color="#A8D8CD" /> <!-- 内部 -->
<stroke
android:width="2dp"
android:color="#DDEFE3" /> <!-- 边框 -->
<size
android:width="80dp"
android:height="40dp"/>
</shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp" />
<stroke
android:width="2dp"/>
<size
android:width="80dp"
android:height="40dp"/>
</shape>
android:background="@drawable/round_corner"