今天在网上发现了一个很漂亮的缓冲界面,在这里分享一下。主要还是用的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*
*/
分享到:
相关推荐
2.3 创建第一个Android项目——HeUoAndroid 2.3.1 创建HelloAndroid项目 2.3.2 运行HelloAndroid及模拟器的使用 2.3.3 调试HelloAndroid 2.4 小结 第二部分 基础篇 第3章 Android程序设计基础 3.1 ...
2.3 创建第一个Android项目——HeUoAndroid 2.3.1 创建HelloAndroid项目 2.3.2 运行HelloAndroid及模拟器的使用 2.3.3 调试HelloAndroid 2.4 小结 第二部分 基础篇 第3章 Android程序设计基础 3.1 ...
2.3 创建第一个Android项目——HeUoAndroid 2.3.1 创建HelloAndroid项目 2.3.2 运行HelloAndroid及模拟器的使用 2.3.3 调试HelloAndroid 2.4 小结 第二部分 基础篇 第3章 Android程序设计基础 3.1 Android程序框架 ...
2.3 创建第一个Android项目——HeUoAndroid 2.3.1 创建HelloAndroid项目 2.3.2 运行HelloAndroid及模拟器的使用 2.3.3 调试HelloAndroid 2.4 小结 第二部分 基础篇 第3章 Android程序设计基础 3.1 Android程序框架 ...
- **Qt 设计器(Qt Designer)**:这是一个可视化界面设计工具,允许开发者拖放 UI 元素并调整其属性。 - **Tmake**:一种用于构建 Qt 应用程序的构建系统,简化了编译和链接过程。 - **Qvfb**:这是一种虚拟帧缓冲...
7.8.1 创建和摧毁一个世界 210 7.8.2 让世界运转起来 211 7.8.3 探索世界 212 7.8.5 AABB查询 213 7.8.6 光线投射(Ray Casts) 214 7.9 形状Shapes 216 7.9.1 碰撞模块 216 7.9.2 形状Shape的作用 216 7.9.3 圆形...
QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA...
首先,我们来详细探讨JDK(Java Development Kit)的安装与使用,这是开始Java编程的第一步。 1. **JDK安装**:JDK是Java开发工具包,包含了编译、调试和运行Java程序所需的所有工具。首先,你需要从Oracle官方网站...