Android自定义加载控件实现数据加载动画

时间:2021-05-20

本文实例为大家分享了Android自定义加载控件,第一次小人跑动的加载效果眼前一亮,相比传统的PrograssBar高大上不止一点,于是走起,自定义了控件LoadingView去实现动态效果,可直接在xml中使用,具体实现如下

package com.*****.*****.widget; import android.content.Context;import android.graphics.drawable.AnimationDrawable;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView; /** * Created by Xiaomu * 数据加载控件 */public class LoadingView extends RelativeLayout { private Context mContext; private ImageView loadingIv; private TextView loadingTv; public LoadingView(Context context) { super(context); this.mContext = context; initView(); } public LoadingView(Context context, AttributeSet attrs) { super(context, attrs); this.mContext = context; initView(); } private void initView() { View view = LayoutInflater.from(mContext).inflate(R.layout.loading, null); loadingIv = (ImageView) view.findViewById(R.id.loadingIv); loadingTv = (TextView) view.findViewById(R.id.loadingTv); AnimationDrawable animationDrawable = (AnimationDrawable) loadingIv.getBackground(); if (animationDrawable != null) animationDrawable.start(); addView(view); } public ImageView getLoadingIv() { return loadingIv; } public TextView getLoadingTv() { return loadingTv; }}

2. xml布局文件

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/loadingIv" android:layout_width="@dimen/dimen_144_dip" android:layout_height="@dimen/dimen_162_dip" android:layout_centerHorizontal="true" android:background="@anim/loading_anim" /> <TextView android:id="@+id/loadingTv" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@+id/loadingIv" android:layout_centerHorizontal="true" android:gravity="center_horizontal" android:text="正在加载中..." android:textSize="15sp" /> </RelativeLayout>

3. loading_anim加载动画的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/progress_loading_image_01" android:duration="150" /> <item android:drawable="@drawable/progress_loading_image_02" android:duration="150" /></animation-list>

以上就是本文的全部内容,希望对大家学习使用Android自定义加载控件有所启发。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章