博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手机安全卫士01
阅读量:6738 次
发布时间:2019-06-25

本文共 5336 字,大约阅读时间需要 17 分钟。

手机安全卫士day01


今天实现效果如下这里写图片描述

目标实现:

1.开始动画,欢迎界面 done
2.初始导航 done
3.版本信息没做。。。
每个应用在第一打开时都有个欢迎动画,那我们今天就来实现它

第一步,实现欢迎动画

目标:边旋转边放大

有三个动画 旋转0-360 缩放0-1 透明度 0-1

public class WelcomeMainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    requestWindowFeature(Window.FEATURE_NO_TITLE);    setContentView(R.layout.activity_main);    ImageView imageView = (ImageView) findViewById(R.id.welcome_iv);    /**     * animation conbine     */    AnimationSet set = new AnimationSet(false);    // 边旋转边放大    RotateAnimation rotateAnimation = new RotateAnimation(0,360, Animation.RELATIVE_TO_SELF, 0.5f,            Animation.RELATIVE_TO_SELF, 0.5f);    rotateAnimation.setDuration(3000);// 设置时间为两秒    rotateAnimation.setFillAfter(true);// 设置最终状态为填充效果    set.addAnimation(rotateAnimation);// 将旋转动画添加到动画集合中    /**     *      */    ScaleAnimation scaleAnimation=new ScaleAnimation(            0, 1,             0, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);    rotateAnimation.setDuration(3000);//     rotateAnimation.setFillAfter(true);// 设置最终状态为填充效果    set.addAnimation(scaleAnimation);// 将缩放动画添加到动画集合中    /**     * 第三个动画来自xml     */    Animation animation=AnimationUtils.loadAnimation(this, R.anim.alpha);    set.addAnimation(animation);// 将透明度动画添加到动画集合中    set.setAnimationListener(new AnimationListener() {        //begin        @Override        public void onAnimationStart(Animation animation) {            // TODO Auto-generated method stub        }        //repeat        @Override        public void onAnimationRepeat(Animation animation) {            // TODO Auto-generated method stub        }        //end        @Override        public void onAnimationEnd(Animation animation) {            // TODO Auto-generated method stub            ToastUtils.show(getApplicationContext(), "欢迎来到德莱联盟");            //the animation end enter the guideActivity            Intent intent=new Intent();            intent.setClass(getApplicationContext(), GuideActivity.class);            startActivity(intent);            finish();        }    });    imageView.startAnimation(set);      }}

效果如下这里写图片描述

第二步,实现导航的轮播效果

主要代码

public class ActivityGuide extends Activity {private List
mPageList;private Context context;private Button btn;@Overrideprotected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.guidelayout); ViewPager mGuideViewPager = (ViewPager) findViewById(R.id.viewpager); btn = (Button) findViewById(R.id.guide_enter_btn); // page list context = this; // init page initpage(); // 2.initdata by adapter mGuideViewPager.setAdapter(new PagerAdapter() { // is the view from object or from fragment @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } // view items count @Override public int getCount() { // TODO Auto-generated method stub return mPageList == null ? 0 : mPageList.size(); } // DESTORY the view items @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub container.removeView(mPageList.get(position)); } /** * init view items pass position container ViewGroup ViewPager */ @Override public Object instantiateItem(ViewGroup container, int position) { // TODO Auto-generated method stub container.addView(mPageList.get(position)); return mPageList.get(position); } }); // 3、对viewpage进行监听 mGuideViewPager.addOnPageChangeListener(new OnPageChangeListener() { //当页面被选择则回调该方法 @Override public void onPageSelected(int position) { if(position==(mPageList.size()-1)){ btn.setVisibility(View.VISIBLE); }else{ btn.setVisibility(View.GONE); } } //页面滚动回调该方法 @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } //当页面滚动状态改变 @Override public void onPageScrollStateChanged(int arg0) { } });}//private void initpage() { // TODO Auto-generated method stub mPageList = new ArrayList
(); ImageView imageView = new ImageView(context); imageView.setBackgroundResource(R.drawable.guide_1); mPageList.add(imageView); ImageView imageView2 = new ImageView(context); imageView2.setBackgroundResource(R.drawable.guide_2); mPageList.add(imageView2); ImageView imageView3 = new ImageView(context); imageView3.setBackgroundResource(R.drawable.guide_3); mPageList.add(imageView3);}public void entersystem(View view) { Intent intent = new Intent(this, SplashActivity.class); startActivity(intent); finish();}}

Viewpage是viewgroup的子类

能实现水平的滑动效果
来看布局文件

毕竟是项目 细节不是太好说的清楚,主要是看大概然后跟着流程一步一步来

转载于:https://www.cnblogs.com/Tesi1a/p/7624144.html

你可能感兴趣的文章
安装phpMyAdmin
查看>>
运算规则
查看>>
java.io笔记
查看>>
MySQL的定位于存储引擎分析
查看>>
通过web界面注册domino新用户
查看>>
实战 MDT 2012(二)---制作模板机
查看>>
Win10系统电脑开机黑屏只有鼠标的解决方法
查看>>
多生成树+vvrp的经典扩谱图做法
查看>>
cisco 路由 重新设置 enable 密码
查看>>
15个Linux Wget下载实例终极指南
查看>>
戴尔虚拟集成系统(VIS)的总体经济影响
查看>>
关于AbstractList
查看>>
linux安装telnet服务器
查看>>
python核心编程:学习笔记3--迭代器,列表解析
查看>>
linux 默认目录介绍
查看>>
网站建设应遵循用户需求胜于一切
查看>>
Archivelog和Noarcivelog
查看>>
8月第一周全球各国家域名总量统计:美国持续领先
查看>>
IDC评述网:《2013年度香港域名注册总量报告》
查看>>
Python进程缓存
查看>>