Android 开机动画,android 开机动画制作,Android开场动画类完整实现代码

Android 开机动画,android 开机动画制作,Android开场动画类完整实现代码

这篇文章主要介绍了机器人开场动画类完整实现代码,是非常实用的功能,需要的朋友可以参考下

本文所述实例为在机器人中开起开场动画类,已封装好,进行机器人开发的朋友可使用。在这个类中,你可以:设置开场动画的图片资源、返回下一个要启动的活动,显示开场动画、执行耗时的操作、创建启动时的界面布局,设置屏幕的方向。默认是竖屏、开场动画的图片资源类。封装了图片、播放时间、开始时的透明程度等。

具体实现代码如下:

包com。鲁人村。cfu图09。安卓套件。ui;

导入Java。io。可序列化;

导入Java。郎。参考文献。弱引用;

导入Java。util。ArrayList

导入Java。util。列表;

导入安卓。app。活动;

导入安卓。内容。意图;

导入安卓。内容。下午。活动信息;

导入安卓。OS。捆绑;

导入安卓。OS。处理者;

导入安卓。OS。消息;

导入安卓。查看。重力;

导入安卓。查看。查看;

导入安卓。查看。查看组;

导入安卓。查看。查看组。布局参数;

导入安卓。查看。窗户;

导入安卓。查看。窗口管理器;

导入安卓。查看。动画。阿尔法动画;

导入安卓。小部件。框架布局;

导入安卓。小部件。imageview

导入安卓。小部件。imageview。规模类型;

导入com。鲁人村。cfu图09。安卓套件。线程。处理程序工厂;

公共抽象类内向性扩展活动{

私有静态最终字符串标志资源='标志资源

/**

* 后台任务完成的标志。

*/

私有静态最终字节BACKGROUND _ FINISH=0x01

/**

* 前台任务完成的标志。

*/

私有静态最终字节FRONTGROUND _ FINISH=0x10

/**

* 表示要播放开场动画。

*/

private static final int INTRO _ PLAY=0;

/**

* 开场动画的资源。

*/

私有ListIntroImgResource资源;

/**

* 图片背景颜色。默认为白色。

*/

private int mBackgroundColor=0x ffffffff;

/**

*用户界面线程。

*/

私有处理程序多重处理器

/**

* 用来显示动画。

*/

私有ImageView微型图像

/**

* 屏幕方向。

*/

私有信息=活动信息。屏幕_方向_纵向;

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

init();

runOnMainThread();

这个。requestwindowfeature(窗口.特征_编号_标题);

this.getWindow().setFlags(WindowManager .LayoutParams。FLAG _全屏,

窗口管理器布局参数。FLAG _全屏);

这个。setrequesteorientation(mOrientation);

这个。setcontentview(create layout());

setintresources(mResources);

startOnBackground();

show intro();

}

私有void init() {

mResources=new ArrayListIntroImgResource();

mui handler=新ui handler(this);

}

/**

* 设置开场动画的图片资源。

*

* @param资源

* 开场动画的图片资源。

*/

受保护的抽象void setintresources(ListIntroImgResource资源);

/**

* 返回下一个要启动的活动。

*

* @返回下一个要启动的活动。

*/

受保护的抽象类?下一个活动();

/**

* 显示开场动画。

*/

受保护的void showIntro() {

int延迟时间=0;

对于(最终IntroImgResource资源:mResources) {

Message msg=new Message();

msg.what=INTRO _ PLAY

Bundle data=new Bundle();

数据。putserializable(FLAG _ RESOURCE,资源);

msg.setData(数据);

mui处理程序。sendmessage delayed(msg,延迟时间);

延迟时间=资源。玩家时间;

}

mui处理程序。senemptymessagedelayed(front ground _ FINISH,延迟时间);

}

/**

* 执行耗时的操作。

*/

私有void startOnBackground() {

处理器工厂。newhandlerinotherthread(' intro _ BG ').帖子(

新的Runnable() {

@覆盖

公共无效运行(){

runOnBackground();

mui处理程序。senemptymessage(0x 1);

}

});

}

/**

* 创建启动时的界面布局。

*

* @返回返回创建的界面布局。

*/

私有视图createLayout()

框架布局布局=新框架布局(this);

视图组LayoutParams layoutParams=新视图组。布局参数(

布局参数.FILL_PARENT,LayoutParams .FILL _ PARENT);

布局。setlayoutparams(布局参数);

布局。设置背景色(获取背景色());

mIntroImage=new ImageView(this);

框架布局layout params params=新框架布局。布局参数(

框架布局LayoutParams。FILL_PARENT,

框架布局布局参数。FILL _ PARENT);

重力参数=重力。居中;

layout.addView(mIntroImage,params);

返回布局;

}

/**

* 获取图片背景。

*

* @返回

*/

public int getBackgroundColor() {

返回mBackgroundColor

}

/**

* 设置图片背景。

*

* @param backgroundColor

*/

公共空集背景色(int背景色){

这个。mbackgroundcolor=背景色;

}

/**

* 返回屏幕方向。

*

* @返回

*/

public int getmOrientation() {

返回内存;

}

/**

* 设置屏幕的方向。默认是竖屏。

*

* @参数存储

* 屏幕方向活动信息.屏幕_方向_纵向或者是活动信息。

*屏幕方向横向。

*/

public void setmOrientation(int mOrientation){

这个。mOrientation=mOrientation

}

/**

* 在前台中执行的代码。如需对界面进行横屏的重新设置,请此在执行setmOrientation()方法。

*/

受保护的void runOnMainThread() {

}

/**

* 在后台中执行的代码。在此进行比较耗时的操作。

*/

受保护的void runOnBackground() {

}

受保护的静态类UIHandler扩展处理程序{

/**

* 是否需要等待。

*/

private int正在等待=0;

私有WeakReferenceIntroActivity活动;

公共UIHandler(IntroActivity活动){

这个。activity=new weakereferenceintroactivity(活动);

}

公共void句柄消息(Android。OS。消息msg){

if (msg.what==INTRO_PLAY) {

IntroImgResource resource=(IntroImgResource)msg。获取数据()。获取可序列化的(FLAG _ RESOURCE);

阿尔法动画动画=新阿尔法动画(

resource.startAlpha,1f);

动画。设置持续时间(资源。玩家时间);

介绍活动介绍=活动。get();

如果(介绍!=null) {

if (resource.isExpand) {

介绍。微型图像。setscaletype(刻度类型.FIT _ XY);

}否则{

介绍。微型图像。setscaletype(刻度类型.中心);

}

介绍。微型图像。设置图像资源(资源。MRE sid);

介绍。微型图像。开始动画(动画);

}

返回;

}

如果(消息。what==BACKGROUND _ FINISH | |味精。what==front ground _ FINISH){

isWaiting |=msg.what

//当后台或前台的任务未完成时,不执行活动的跳转。

if(正在等待==(BACKGROUND _ FINISH | front ground _ FINISH)){

介绍活动介绍=活动。get();

如果(介绍!=null) {

intro.startActivity(新意图(简介,简介。下一个活动()));

介绍。finish();

}

}

}

};

};

/**

* 开场动画的图片资源类。封装了图片、播放时间、开始时的透明程度。

*

* @作者msdx

*

*/

受保护的类IntroImgResource实现可序列化{

/**

* 序列化身份证。

*/

private static final long serialVersionUID=-2257252088641281804 l;

/**

* 资源图片身份证。

*/

私有int mResId

/**

* 播放时间,单位为毫秒。

*/

私人娱乐时间

/**

* 开始时的透明程度。0-1之间。

*/

私有浮动startAlpha

/**

* 图片是否扩展。

*/

私有布尔值isExpand

/**

* 开场动画资源的构造方法。

*

* @param mResId

* 图片资源的身份证。

* @param playerTime

* 图片资源的播放时间,单位为毫秒。

* @param startAlpha

* 图片资源开始时的透明程度。0-255之间。

*/

public IntroImgResource(int mResId,int playerTime,float startAlpha,boolean isExpand) {

super();

这个。MRE sid=MRE sid

这个。玩家时间=玩家时间;

这个。开始alpha=开始alpha;

这个。is expand=is expand

}

/**

* 获取资源图片身份证。

*

* @返回资源图片身份证。

*/

public int getmResId() {

返回mResId

}

/**

* 设置资源图片身份证。

*

* @param mResId

*要设置的资源图片ID。

*/

public void setmResId(int mResId){

this . MRE sid=MRE sid;

}

/**

*返回资源图片的播放时间。

*

* @返回资源图片的播放时间。

*/

public int getPlayerTime() {

返回playerTime

}

/**

*设置资源图片的播放时间。

*

* @param playerTime

*资源图片的播放时间。

*/

public void setPlayerTime(int player time){

this . player time=player time;

}

/**

*获取资源之初的透明程度。

*

* @返回

*/

公共浮点getStartAlpha() {

返回startAlpha

}

/**

*在开始时设置资源的透明度。

*

* @param startAlpha

*/

public void setStartAlpha(float startAlpha){

this . start alpha=start alpha;

}

/**

*返回是否为图片设置了扩展名。

*

* @返回

*/

公共布尔值isExpand() {

返回isExpand

}

/**

*设置图片是否扩展。

*

* @param isExpand

*如果为真,图片将被拉伸到全屏尺寸显示,否则,将以原始尺寸显示。

*/

public void set expand(boolean is expand){

this . is expand=is expand;

}

}

}

本例配有详细的注释,读者可以在理解程序代码功能的基础上进行个性化修改,打造自己独特的Android开场动画!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android传感器高级编程,Android传感器,Android编程之光线传感器用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • 留言与评论(共有 条评论)
       
    验证码: