`
xyz_lmn
  • 浏览: 66570 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Android UI开发第十五篇——分享一个登录缓冲界面

 
阅读更多

今天在网上发现了一个很漂亮的缓冲界面,在这里分享一下。主要还是用的android Anim。

java code:

public class Main extends Activity {
	private Animation anm;
	private int marginsTop;
	public List<ImageView> images;
	public LinearLayout ll;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

		requestWindowFeature(Window.FEATURE_NO_TITLE);

		DisplayMetrics dm = this.getResources().getDisplayMetrics();

		int height = dm.heightPixels;
		marginsTop = height - 100;
		anm = AnimationUtils.loadAnimation(this, R.anim.myanim);
		ll = new LinearLayout(this);
		ll.setBackgroundResource(R.drawable.background);

		images = new ArrayList<ImageView>();
		initImage(ll);
		playAnimation();
		setContentView(ll);
    }
    private void playAnimation(){    	
    		new Thread(){
    			@Override
    			public void run()
    			{
    				try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					int runcount=0;
    				while(true)
    				{
    					if(runcount<2)
    					{
	    					for(int i=0;i<=6;i++)
	    					{
	    						handler.sendEmptyMessage(i);
	    						try {
	    							Thread.sleep(400);
	    						} catch (InterruptedException e) {
	    							e.printStackTrace();
	    						}
	    					}
	    					runcount++;
    					}else
    					{
    						handler.sendEmptyMessage(99);
    						runcount=0;
    					}
    					

    				}

    			}

    		}.start();
    	}
    	

    Handler handler=new Handler(){

    			@Override
    			public void handleMessage(Message msg) {  				
    				switch(msg.what)
    				{
    				case 0:
    					images.get(0).setImageDrawable(Main.this.getResources().getDrawable(R.drawable.l));
    					images.get(0).startAnimation(anm);
    					
    					break;
    				case 1:
    					images.get(1).setImageDrawable(Main.this.getResources().getDrawable(R.drawable.o));
    					images.get(1).startAnimation(anm);
    					break;
    				case 2:
    					images.get(2).setImageDrawable(Main.this.getResources().getDrawable(R.drawable.a));
    					images.get(2).startAnimation(anm);
    					break;
    				case 3:
    					images.get(3).setImageDrawable(Main.this.getResources().getDrawable(R.drawable.d));
    					images.get(3).startAnimation(anm);
    					break;
    				case 4:
    					images.get(4).setImageDrawable(Main.this.getResources().getDrawable(R.drawable.i));
    					images.get(4).startAnimation(anm);
    					break;
    				case 5:
    					images.get(5).setImageDrawable(Main.this.getResources().getDrawable(R.drawable.n));
    					images.get(5).setAnimation(anm);
    					break;
    				case 6:
    					images.get(6).setImageDrawable(Main.this.getResources().getDrawable(R.drawable.g));
    					images.get(6).setAnimation(anm);
    					break;
    				case 99:
    					clearImage();
    					break;
    				}
    			}
    		};
    private void clearImage()
    {
    	for(ImageView image:images)
    	{
    		image.setImageDrawable(null);
    		image.destroyDrawingCache();
    	}
    }
    private void initImage(LinearLayout layout) {
    	
    	layout.setGravity(Gravity.CENTER_HORIZONTAL);
		LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(40, 40);
		param.setMargins(30, marginsTop, 0, 0);
		
		LinearLayout.LayoutParams param2 = new LinearLayout.LayoutParams(40, 40);
		param2.setMargins(-5, marginsTop, 0, 0);

		ImageView l = new ImageView(this);
		l.setLayoutParams(param);
		layout.addView(l);
		images.add(l);

		ImageView o = new ImageView(this);
		o.setLayoutParams(param2);
		layout.addView(o);
		images.add(o);
		
		
		ImageView a = new ImageView(this);
		a.setLayoutParams(param2);
		layout.addView(a);
		images.add(a);
		
		ImageView d = new ImageView(this);
		d.setLayoutParams(param2);
		layout.addView(d);
		images.add(d);
		
		ImageView i = new ImageView(this);
		i.setLayoutParams(param2);
		layout.addView(i);
		images.add(i);
		
		ImageView n = new ImageView(this);
		n.setLayoutParams(param2);
		layout.addView(n);
		images.add(n);
		
		ImageView g = new ImageView(this);
		g.setLayoutParams(param2);
		layout.addView(g);
		images.add(g);
	}
}


anim code:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
	android:shareInterpolator="false">
	<scale android:interpolator="@android:anim/accelerate_interpolator"
		android:fromXScale="0.5" 
		android:toXScale="1.2" 
		android:fromYScale="0.5"
		android:toYScale="1.2" 
		android:pivotX="50%" 
		android:pivotY="50%"
		android:fillAfter="false" 
		android:startOffset="-50"
		android:duration="100"
/>
</set>

代码地址:http://www.devdiv.com/thread-101608-1-1.html

/**
* @author 张兴业
* 邮箱:xy-zhang#163.com
* android开发进阶群:278401545
*
*/


分享到:
评论

相关推荐

    UI开发第六篇——仿QQ的滑动Tab

    在UI开发中,仿QQ的滑动Tab是一种常见的设计模式,用于实现应用界面中的多页面切换,用户可以通过滑动Tab来浏览不同的内容区域。在Android平台上,我们可以利用Android SDK提供的组件和方法来实现这一功能。以下是对...

    安卓Android源码——UI界面源码.zip

    这个名为“安卓Android源码——UI界面源码.zip”的压缩包,很显然是一个包含Android用户界面(UI)相关源代码的资源集合。下面我们将详细探讨Android UI界面的构建原理以及可能包含的知识点。 1. **Android UI框架*...

    安卓Android源码——ui开发类库示例源码.zip

    在安卓(Android)平台上进行UI(用户界面)开发是一项至关重要的任务,因为它直接影响到应用程序的用户体验。本资源“安卓Android源码——ui开发类库示例源码.zip”提供了丰富的UI开发示例,帮助开发者更好地理解和...

    Android源码——UI界面源码.rar

    本资源“Android源码——UI界面源码.rar”很可能是提供了Android UI设计的一些关键源代码,帮助开发者深入理解Android UI的工作原理,并提供自定义界面的参考。 Android UI界面的构建主要依赖于Android的视图(View)...

    Android源码——UI界面源码.zip

    本资源“Android源码——UI界面源码.zip”包含了一些关于Android UI界面的源代码,帮助开发者深入理解Android UI的设计原理和实现机制。下面我们将详细探讨Android UI界面的相关知识点。 首先,Android UI主要基于...

    UI开发第八篇——ViewFlipper 左右滑动效果

    在Android UI开发中,实现界面元素的动态交互是提升用户体验的关键之一。本篇将深入探讨如何利用ViewFlipper组件和GestureDetector类实现左右滑动切换视图的效果,这在主页面或多个内容区域展示的场景中非常常见。 ...

    Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)

    在Android应用开发中,下拉刷新(Pull To Refresh)功能是一项常见的UI交互设计,它允许用户通过在列表顶部向下拉动来触发数据的刷新操作。这一功能显著提升了用户体验,尤其是在查看实时信息更新时,如新闻、社交...

    Android开发笔记——UI基础编程

    这份"Android开发笔记——UI基础编程"的资料集包含了两部分:新版Android开发教程+笔记七--基础UI编程1.pdf和新版Android开发教程+笔记七--基础UI编程2.pdf,将深入讲解Android应用程序中用户界面的设计与实现。...

    android UI界面开发图片

    总之,“Android UI界面开发图片”涵盖的内容广泛,从基本的图片格式、尺寸适配到高级的布局设计、动画效果,每一个环节都需要精心考虑和实践。通过学习和积累,开发者可以创造出既美观又实用的Android应用界面。

    AndroidUI界面开发规范

    本篇文章将从Android UI界面开发的角度出发,探讨UI设计的基本原则与实践方法。 #### 二、Android UI界面开发的重要性 在移动应用开发领域,特别是在Android平台上,UI设计不仅仅是外观上的美化,更重要的是如何...

    android 漂亮的UI界面 完整的界面设计

    声明:这也是我学习时在网上下载的,鉴于分享精神,并且觉得很不错才上传...android 漂亮的UI界面 完整的界面设计 这是一个完整的UI设计,但是没写动作,这是一个公司程序员的公司任务设计,请别商用,要用请修改。。。

    Android程序研发源码Android ui开发类库示例源码.zip

    这份"Android程序研发源码Android ui开发类库示例源码.zip"压缩包提供了关于Android UI开发的一个实例源码——GreenDroid库。GreenDroid是一个开源的Android库,专为快速构建具有丰富UI特性的应用程序而设计。 ...

    AndroidStudio————实战演练——仿美团外卖菜单

    在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...

    安卓Android源码——一个登陆和注册界面.zip

    在这个"安卓Android源码——一个登陆和注册界面.zip"压缩包中,包含了一个完整的登录和注册功能的源代码实现,对于学习Android开发或改进现有应用的UI设计具有很高的参考价值。 首先,我们要理解Android界面的基本...

    安卓Android源码——精仿QQ登录界面源码.zip

    总之,这个"安卓Android源码——精仿QQ登录界面源码.zip"项目是一个丰富的学习资源,涵盖了安卓应用开发的多个关键领域,包括UI设计、网络编程、数据管理、安全性和用户体验等。通过研究这个源码,开发者不仅可以学...

    Android源码——ui开发类库示例源码_new_19.7z

    Android UI 开发的一个重要方面是事件处理。通过监听器接口(OnClickListener、OnTouchListener等),开发者可以响应用户的触摸操作。源码示例会展示如何设置这些监听器以及如何处理事件回调,这对于创建交互式界面...

    Android源码——UI界面漂亮的天气预报源码.zip

    这篇内容将深入解析《Android源码——UI界面漂亮的天气预报源码》的相关知识点,主要涉及Android应用程序开发,尤其是用户界面(UI)设计和实现。在Android平台上,UI设计是提升用户体验的关键因素,而天气预报应用...

    Android源码——ui开发类库示例源码_new_19.zip

    这份"Android源码——ui开发类库示例源码_new_19.zip"压缩包显然是一个专注于Android UI开发的学习资源,包含了一些示例源码,帮助开发者了解和实践Android UI的各种组件和库的使用。 首先,Android UI主要基于XML...

    Android的UI界面编辑工具

    除了DroidDraw,Google官方提供的Android Studio也内置了一个强大的布局编辑器——布局设计器(Layout Designer)。这个工具集成了即时预览、约束布局(ConstraintLayout)、布局资源变体等功能,使UI设计更加灵活和...

Global site tag (gtag.js) - Google Analytics