本文實例為大家分享了Android自定義加載控件,第一次小人跑動的加載效果眼前一亮,相比傳統(tǒng)的PrograssBar高大上不止一點,于是走起,自定義了控件LoadingView去實現(xiàn)動態(tài)效果,可直接在xml中使用,具體實現(xiàn)如下

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 * 數(shù)據(jù)加載控件 */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>
以上就是本文的全部內(nèi)容,希望對大家學(xué)習使用Android自定義加載控件有所啟發(fā)。
新聞熱點
疑難解答