android Loading动画效果


Android  Loading动画效果


现在项目不是很忙,所以想不能闲着,研究一下大神们是如何实现等待框中的动画显示的,之前看着效果那么帅,那么酷。比猫画虎的写了写代码。


首先在res文件夹下新建一个anim文件


<?xml version="1.0" encoding="utf-8"?>  
<animation-list  
    android:oneshot="false"
    xmlns:android="http://schemas.android.com/apk/res/android">   
    <item android:drawable="@drawable/app_loading0" android:duration="150"/>  
    <item android:drawable="@drawable/app_loading1" android:duration="150"/>  
</animation-list>

再建一个layout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+id/dialog_view"   
    android:orientation="vertical"  
    android:layout_width="fill_parent"   
    android:layout_height="fill_parent"  
    android:minHeight="60dp"  
    android:minWidth="180dp"  
    android:gravity="center"  
    android:padding="10dp"  
    android:background="@drawable/loading_bg">  
    <ImageView   
        android:id="@+id/img"  
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"   
        android:src="@anim/dialog_animation"/>  
    <TextView   
        android:id="@+id/tv_load"  
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"  
        android:layout_marginLeft="10dp"  
        android:text="数据加载中……" />  
</LinearLayout>


接下来开始写一个自定义的dialog

package com.main.view;

import com.example.loadingresults.R;

import android.app.ProgressDialog;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

public class LoadingView extends ProgressDialog{
    private AnimationDrawable aDrawable;
    private Context context;
    private String content;
    private ImageView img;
    private TextView tv_load;

    public LoadingView(Context context,String content) {
        super(context);
        // TODO Auto-generated constructor stub
        this.context = context;
        this.content = content;
        setCanceledOnTouchOutside(true);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewlayout);
        img = (ImageView) findViewById(R.id.img);
        tv_load = (TextView) findViewById(R.id.tv_load);
        aDrawable = (AnimationDrawable) img.getDrawable();
        img.post(new Runnable() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                aDrawable.start();
                tv_load.setText(content);
            }
        });
    }
}





猜你喜欢

转载自blog.csdn.net/wkh11/article/details/53212200