首页 > 系统 > Android > 正文

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

2019-12-12 06:34:48
字体:
来源:转载
供稿:网友

本文实例为大家分享了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自定义加载控件有所启发。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表