没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
分类: 梵谷Android——UI篇
有奖征集活动系列——【HTML5游戏编程之旅】 专访许雪松:深入理解嵌入式开发 探究云计算数据中心节能增效之道 CSDN博
客第一期云计算最佳博主评选 CSDN博客第二期最佳移动开发博主评选
Android仿QQ微信开场导航以及登陆界面
2012-12-20 14:20 9572人阅读 评论(163) 收藏 举报
animation Animation viewpager Viewpager ViewPager 仿微信UI 微信登陆
相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次
使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后进入应用,这一效果适用于多
种项目中,相信今后开发应用一定会用得到。网路上也有不少这样的例子可以参考,不过看
别人的代码是一回事,自己实际做起来又是另一回事,今天的这个微信的Demo是研究过多个
类似的界面后自己动手去实现的效果,并且都加上了详细的注释(虽然有的多余),方便以后
回顾一看就能看明白,只有真正亲自写一写,体会才会更深刻,例子中的图片都是在微信的
APK中提取出来的,涉及到的知识点无外乎是ViewPager和Animation。
首先是开场闪屏的一个界面,使用handler控制该页面指定时间后进行跳转
[java]
01. package com.example.weichat.UI;
02.
03. import com.example.weichat.R;
04.
05. import android.app.Activity;
06. import android.content.Intent;
07. import android.os.Bundle;
08. import android.os.Handler;
09.
10. /** 开场欢迎动画 */
11. public class WelcomeA extends Activity {
12. @Override
13. public void onCreate(Bundle savedInstanceState) {
14. super.onCreate(savedInstanceState);
15. setContentView(R.layout.strat);
16. //延迟两秒后执行run方法中的页面跳转
17. new Handler().postDelayed(new Runnable() {
原创:28篇 转载:10篇
译文:1篇 评论:360条
(9571)
(3511)
(2843)
(2591)
(2225)
(1899)
(1543)
(1489)
(1482)
(1262)
(163)
(88)
(42)
(19)
个人资料个人资料
eyu8874521
访问:43208次
积分:1069分
排名:第9643名
文章分类文章分类
梵谷Android——UI篇 (8)
梵谷Android——功能篇 (8)
梵谷Android——技巧篇 (8)
梵谷Android——学习篇 (11)
梵谷Android——情感篇 (1)
梵谷Android——知识篇 (2)
梵谷JAVA札记 (1)
新浪微博新浪微博
阅读排行阅读排行
Android仿QQ微信开场导航以及登陆界面
Android仿iPhone的时间轮的工具Demo
Android Fragement学习笔记(三)----PreferenceFragment的使用
高仿Android QQ2012登陆界面和注册界面
基于Android Fragment功能的例子
Android重写view时onAttachedToWindow () 和 onDetachedFromWindow ()
Android中从SD卡中/拍照选择图片并进行剪裁的方法
15个令iPhone用户嫉妒的Android widgets 桌面组件
Android 仿Windows Metro 界面UI
Android屏幕保护KeyguardManager相关内容学习
评论排行评论排行
Android仿QQ微信开场导航以及登陆界面
高仿Android QQ2012登陆界面和注册界面
Android仿iPhone的时间轮的工具Demo
Android 仿Windows Metro 界面UI
目录视图 摘要视图 订阅
您还未登录!| 登录 | 注册 | 帮助首页 业界 移动 云计算 研发 论坛 博客 下载
Mr梵谷的专栏
初涉Android,记录点滴的历程,希望菜鸟有朝一日也可以蜕变为大神
更多
Android仿QQ微信开场导航以及登陆界面 - Mr梵谷的专栏 - 博客频道 - CSDN.NET 2013/5/27
http://blog.csdn.net/eyu8874521/article/details/8332366 1 / 12
17. new Handler().postDelayed(new Runnable() {
18.
19. @Override
20. public void run() {
21. Intent intent = new Intent(WelcomeA.this, WhatsnewPagesA.class);
22. startActivity(intent);
23. WelcomeA.this.finish();
24. }
25. }, 2000);
26.
————————————————————————————————————————————————————————————————
接着是主要的部分,也就是一系列的功能介绍图片,主要是viewpager来实现,嵌套在
上面的小圆点的跟随导航也是要实现的效果之一
[java]
01. package com.example.weichat.UI;
02.
03. import java.util.ArrayList;
04. import android.app.Activity;
05. import android.content.Intent;
06. import android.os.Bundle;
07. import android.support.v4.view.PagerAdapter;
08. import android.support.v4.view.ViewPager;
09. import android.support.v4.view.ViewPager.OnPageChangeListener;
10. import android.view.LayoutInflater;
11. import android.view.View;
12. import android.view.ViewGroup;
13. import android.view.ViewGroup.LayoutParams;
14. import android.view.Window;
15. import android.widget.ImageView;
16. import com.example.weichat.R;
17.
18. /** What's new 的导航界面 */
19. public class WhatsnewPagesA extends Activity {
20. /** Viewpager对象 */
21. private ViewPager viewPager;
22. private ImageView imageView;
23. /** 创建一个数组,用来存放每个页面要显示的View */
24. private ArrayList<View> pageViews;
25. /** 创建一个imageview类型的数组,用来表示导航小圆点 */
26. private ImageView[] imageViews;
27. /** 装显示图片的viewgroup */
28. private ViewGroup viewPictures;
29. /** 导航小圆点的viewgroup */
30. private ViewGroup viewPoints;
31.
32. @Override
33. protected void onCreate(Bundle savedInstanceState) {
34. // TODO Auto-generated method stub
35. super.onCreate(savedInstanceState);
36. requestWindowFeature(Window.FEATURE_NO_TITLE);
(12)
(10)
(8)
(4)
(4)
(3)
基于Android Fragment功能的例子
Android Fragement学习笔记(三)----PreferenceFragment的使用
Android屏幕保护KeyguardManager相关内容学习
不是人人都懂的学习要点
Android中从SD卡中/拍照选择图片并进行剪裁的方法
Android中ImageView无法居中的问题
最新评论最新评论
高仿Android QQ2012登陆界面和注册界面
u010640906: 大神啊 求源码啊 谢
谢啊 1083927103@qq.com
高仿Android QQ2012登陆界面和注册界面
u010640906: 伟大的楼主啊 请发下
源码吧 QQ邮箱
1083927103@qq.com
Android仿QQ微信开场导航以及登陆界面
lazycatsx: 楼主,您好! 非常感谢
您的分享。 我运行了您的代码,十
分喜欢,同时,我也产生了一些...
Android屏幕保护KeyguardManager相关内容学习
yinhaojun891226: LZ最后一句话真
的亮了,给我一份源码咯!!!
858032008@qq.com
高仿Android QQ2012登陆界面和注册界面
jiery666: 给份源码把,谢谢或者那
个手机接收注册验证码 就可以了
107566186@qq.com
高仿Android QQ2012登陆界面和注册界面
糯米粽子香:
zhongnanaxi@163.com 求源码,
谢谢楼主!
高仿Android QQ2012登陆界面和注册界面
seavisioncode:
120524480@qq.com求源码,值得
学习,非常感谢!
高仿Android QQ2012登陆界面和注册界面
蚂蚁001: 有源
码,mys812@163.com
高仿Android QQ2012登陆界面和注册界面
yumeiqiao: 1730041563@qq.com
求源码啊亲 谢谢
高仿Android QQ2012登陆界面和注册界面
MengXiangZuoFeng: 求源
码,896711024@qq.com thanks
。
友情链接友情链接
魏祝林
Android仿QQ微信开场导航以及登陆界面 - Mr梵谷的专栏 - 博客频道 - CSDN.NET 2013/5/27
http://blog.csdn.net/eyu8874521/article/details/8332366 2 / 12
37. LayoutInflater inflater = getLayoutInflater();
38. pageViews = new ArrayList<View>();
39. pageViews.add(inflater.inflate(R.layout.viewpager01, null));
40. pageViews.add(inflater.inflate(R.layout.viewpager02, null));
41. pageViews.add(inflater.inflate(R.layout.viewpager03, null));
42. pageViews.add(inflater.inflate(R.layout.viewpager04, null));
43. pageViews.add(inflater.inflate(R.layout.viewpager05, null));
44. pageViews.add(inflater.inflate(R.layout.viewpager06, null));
45.
46. // 小圆点数组,大小是图片的个数
47. imageViews = new ImageView[pageViews.size()];
48. // 从指定的XML文件中加载视图
49. viewPictures = (ViewGroup) inflater.inflate(R.layout.viewpagers, null);
50.
51. viewPager = (ViewPager) viewPictures.findViewById(R.id.guidePagers);
52. viewPoints = (ViewGroup) viewPictures.findViewById(R.id.viewPoints);
53.
54. // 添加小圆点导航的图片
55. for (int i = 0; i < pageViews.size(); i++) {
56. imageView = new ImageView(WhatsnewPagesA.this);
57. imageView.setLayoutParams(new LayoutParams(20, 20));
58. imageView.setPadding(5, 0, 5, 0);
59. // 吧小圆点放进数组中
60. imageViews[i] = imageView;
61. // 默认选中的是第一张图片,此时第一个小圆点是选中状态,其他不是
62. if (i == 0)
63. imageViews[i].setImageDrawable(getResources().getDrawable(
64. R.drawable.page_indicator_focused));
65. else
66. imageViews[i].setImageDrawable(getResources().getDrawable(
67. R.drawable.page_indicator_unfocused));
68. // 将imageviews添加到小圆点视图组
69. viewPoints.addView(imageViews[i]);
70. }
71.
72. setContentView(viewPictures);
73.
74. viewPager.setAdapter(new NavigationPageAdapter());
75. // 为viewpager添加监听,当view发生变化时的响应
76. viewPager.setOnPageChangeListener(new NavigationPageChangeListener());
77. }
78.
79. // 导航图片view的适配器,必须要实现的是下面四个方法
80. class NavigationPageAdapter extends PagerAdapter {
81.
82. @Override
83. public int getCount() {
84. return pageViews.size();
85. }
86.
87. @Override
88. public boolean isViewFromObject(View arg0, Object arg1) {
89. return arg0 == arg1;
90. }
91.
92. // 初始化每个Item
93. @Override
94. public Object instantiateItem(View container, int position) {
95. ((ViewPager) container).addView(pageViews.get(position));
96. return pageViews.get(position);
97. }
98.
99. // 销毁每个Item
100. @Override
101. public void destroyItem(View container, int position, Object object) {
102. ((ViewPager) container).removeView(pageViews.get(position));
103. }
104.
105. }
106.
107. // viewpager的监听器,主要是onPageSelected要实现
108. class NavigationPageChangeListener implements OnPageChangeListener {
109.
110. @Override
111. public void onPageScrollStateChanged(int arg0) {
112.
113. }
114.
115. @Override
Android仿QQ微信开场导航以及登陆界面 - Mr梵谷的专栏 - 博客频道 - CSDN.NET 2013/5/27
http://blog.csdn.net/eyu8874521/article/details/8332366 3 / 12
剩余11页未读,继续阅读
Mlib
- 粉丝: 269
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- J211-T1B-A-VB一款SOT23封装P-Channel场效应MOS管
- J210-VB一款SOT23封装P-Channel场效应MOS管
- content_1713924059748.zip
- J210-T1B-A-VB一款SOT23封装P-Channel场效应MOS管
- Suno V3 AI音乐生成神器,助你秒变音乐大师,suno AI音乐使用教程
- 自适应极化滤波完成P/S波分离
- 0b40adff-950d-44cf-88e6-f4a64292b638.apk
- J209-VB一款SOT23封装P-Channel场效应MOS管
- OLED12864模块(IIC接口)中文说明书.pdf
- 22304010116工管余文贤.bak
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页