欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2024-02-28 10:48:22
本文实例为大家分享了android自定义加载控件,第一次小人跑动的加载效果眼前一亮,相比传统的prograssbar高大上不止一点,于是走起,自定义了控件loadingvi...

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

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

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自定义加载控件有所启发。