




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Android中如何使用界面切换效果库
Android中如何使用界面切换效果库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。界面或者板块的切换是Android应用中非常常见的一个功能,同时也谈谈自己对“Android模块化编程”的一些想法与对自定义Android界面切换效果库的使用。希望大家能通过对界面切换效果库的研究和思考,总结出一套自己的常用功能类库的开发思路。界面切换效果库Demo项目的源码(ShiftEffect.zip)可以点击“此处下载”。将解压后的项目源码(ShiftEffect)导入到Eclipse中就可以看到这个Demo项目的代码结构了(如下图)。首先,在模拟器上运行项目代码。可以看到,界面切换效果库的Demo为大家提供了比较丰富的选项,如下图所示;我们可以随意选择切换的内容(文字、图片)、切换的渐变时间、切换的停顿时间以及丰富切换的效果(滚动切换、旋转渐变、大小渐变等)。下图所示的就是图片切换的效果,大家还可以尝试各种切换的效果,我们可以看到效果还是很流畅的。界面切换效果库位于ShiftEffect项目的libs目录下,即plugs-effect.jar。该效果库的使用范例都在com.example.scrolleffect包目录下的MainActivity.java文件中,使用方法在代码注释中都已经写的非常清楚了,如下参考。public
class
MainActivity
extends
Activity
implements
OnItemSelectedListener
{
//
展示渐变动效的容器,用于容纳渐变效果库的View控件
private
LinearLayout
container;
//
渐变效果库的View控件类
private
EffectView
mView;
//
文字资源(用于展示渐变切换)
private
String[]
mTexts
=
{
"今日新闻1",
"今日新闻2",
"今日新闻3"
};
//
图片资源(用于展示渐变切换)
private
int[]
mImages
=
{
R.drawable.image_1,
R.drawable.image_2,
R.drawable.image_3
};
//
切换内容选项
private
Spinner
sp1;
private
ArrayAdapter<String>
aa1;
private
String[]
menu1
=
{
"内容:文字",
"内容:图片"
};
//
切换渐变时间选项
private
Spinner
sp2;
private
ArrayAdapter<String>
aa2;
private
String[]
menu2
=
{
"动时:300ms",
"动时:1000ms",
"动时:3000ms"
};
//
切换渐变停顿选项
private
Spinner
sp3;
private
ArrayAdapter<String>
aa3;
private
String[]
menu3
=
{
"停时:3000ms",
"停时:5000ms",
"停时:10000ms"
};
//
切换渐变效果选项
private
Spinner
sp4;
private
ArrayAdapter<String>
aa4;
private
String[]
menu4
=
{
"动效:向上",
"动效:向下",
"动效:向左",
"动效:向右",
"动效:旋转",
"动效:大小",
"动效:渐变"
};
@Override
public
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
初始化展示动效的容器
container
=
(LinearLayout)
this.findViewById(R.id.container);
//
初始化各个选项的内容
sp1
=
(Spinner)
findViewById(R.id.spinner1);
aa1
=
new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,
menu1);
aa1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp1.setAdapter(aa1);
sp1.setOnItemSelectedListener(this);
sp2
=
(Spinner)
findViewById(R.id.spinner2);
aa2
=
new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,
menu2);
aa2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp2.setAdapter(aa2);
sp2.setOnItemSelectedListener(this);
sp3
=
(Spinner)
findViewById(R.id.spinner3);
aa3
=
new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,
menu3);
aa3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp3.setAdapter(aa3);
sp3.setOnItemSelectedListener(this);
sp4
=
(Spinner)
findViewById(R.id.spinner4);
aa4
=
new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,
menu4);
aa4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp4.setAdapter(aa4);
sp4.setOnItemSelectedListener(this);
}
@Override
public
boolean
onCreateOptionsMenu(Menu
menu)
{
getMenuInflater().inflate(R.menu.activity_main,
menu);
return
true;
}
@Override
public
void
onItemSelected(AdapterView<?>
parent,
View
view,
int
position,
long
id)
{
//
选择切换内容选项(可选择滚动文字或者图片)
if
(parent.getAdapter()
==
aa1)
{
container.removeAllViews();
switch
(position)
{
case
0:
//
初始化文字切换View对象
mView
=
EffectUtil.fillTexts(this,
EffectView.ANI_UP,
30,
mTexts);
container.addView(mView);
mView.start();
break;
default:
mView
=
EffectUtil.fillImages(this,
EffectView.ANI_UP,
mImages);
container.addView(mView);
mView.start();
break;
}
}
//
选择切换渐变时间选项
if
(parent.getAdapter()
==
aa2)
{
switch
(position)
{
case
0:
mView.setDuration(300);
break;
case
1:
mView.setDuration(1000);
break;
default:
mView.setDuration(3000);
break;
}
}
//
选择切换渐变间隔选项
if
(parent.getAdapter()
==
aa3)
{
switch
(position)
{
case
0:
mView.setInterval(3000);
break;
case
1:
mView.setInterval(5000);
break;
default:
mView.setInterval(10000);
break;
}
}
//
选择切换渐变效果选项
if
(parent.getAdapter()
==
aa4)
{
switch
(position)
{
case
0:
mView.setAnimation(EffectView.ANI_UP);
//
往上滚动
break;
case
1:
mView.setAnimation(EffectView.ANI_DOWN);
//
往下滚动
break;
case
2:
mView.setAnimation(EffectView.ANI_LEFT);
//
往左滚动
break;
case
3:
mView.setAnimation(EffectView.ANI_RIGHT);
//
往右滚动
break;
case
4:
mView.setAnimation(EffectView.ANI_ROTATE);
//
旋转渐变
break;
case
5:
mView.setAnimation(EffectView.ANI_SCALE);
//
大小渐变
break;
default:
mView.setAnimation(EffectView.ANI_FADE);
//
消失渐变
break;
}
}
}
@Overridek
public
void
onNothingSelected(AdapterView<?>
parent)
{
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训采购评审模板
- 预防医学视频课件
- 项目管理课件PMP
- 音乐课件教学课件
- 2025年棉花生产项目建议书
- 2025年气体检测设备项目合作计划书
- 水肌酸产品项目申请报告(参考模板)
- 城市污水管网建设工程资金申请报告(范文)
- 2025年抗血吸虫病药合作协议书
- 无人驾驶技术在物流中的应用
- 《地下工程泥浆施工标准》
- 抛光简介介绍
- 热射病预防与急救
- 初中音乐课件《夏日泛舟海上》
- 采气工班长岗位述职报告
- 呼吸系统课件ppt免费
- 国家开放大学2023年7月期末统一试《42732土地利用规划》试题及答案-开放专科
- 某药业集团产品说明书:加替沙星注射液
- 工艺危险性分析报告
- 消防水箱施工方案 消防水箱的制作要求(6篇)
- 美国范登堡空军基地
评论
0/150
提交评论