ActivityGroup+LinearLayout实现iphone风格的底部tab菜单
public
class
ActsGroup
extends
ActivityGroup {
private
LinearLayout bodyView;
private
LinearLayout home, gamebox, team, more;
private
int
flag =
0
;
// 通过标记跳转不同的页面,显示不同的菜单项
// private String parameter = Constant.BUTTON_HOME;// 初始化加载
/** Called when the activity is first created. */
@Override
public
void
onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 无标题
super
.onCreate(savedInstanceState);
setContentView(R.layout.acts_group);
initMainView();
// 主界面开始接收参数
Bundle bundle = getIntent().getExtras();
if
(
null
!= bundle) {
flag = bundle.getInt(
"flag"
);
}
// 默认显示
showView(flag);
home.setOnClickListener(
new
OnClickListener() {
public
void
onClick(View v) {
// TODO Auto-generated method stub
flag =
0
;
showView(flag);
}
});
gamebox.setOnClickListener(
new
OnClickListener() {
public
void
onClick(View v) {
// TODO Auto-generated method stub
flag =
1
;
showView(flag);
}
});
team.setOnClickListener(
new
OnClickListener() {
public
void
onClick(View v) {
// TODO Auto-generated method stub
flag =
2
;
showView(flag);
}
});
more.setOnClickListener(
new
OnClickListener() {
public
void
onClick(View v) {
// TODO Auto-generated method stub
flag =
3
;
showView(flag);
}
});
}
/*
* 初始化主界面底部的功能菜单
*/
public
void
initMainView() {
bodyView = (LinearLayout) findViewById(R.id.bodyL);
home = (LinearLayout) findViewById(R.id.home);
gamebox = (LinearLayout) findViewById(R.id.gamebox);
team = (LinearLayout) findViewById(R.id.team);
more = (LinearLayout) findViewById(R.id.more);
}
// 在主界面中显示其他界面
public
void
showView(
int
flag) {
switch
(flag) {
case
0
:
showHome();
break
;
case
1
:
showGamebox();
break
;
case
2
:
showTeam();
break
;
case
3
:
showMore();
break
;
default
:
break
;
}
}
public
void
showHome() {
bodyView.removeAllViews();
bodyView.addView(getLocalActivityManager().startActivity(
"home"
,
new
Intent(ActsGroup.
this
, MainActivity.
class
)).getDecorView());
home.setBackgroundResource(R.drawable.tab_highlight);
gamebox.setBackgroundResource(R.drawable.tab_background);
more.setBackgroundResource(R.drawable.tab_background);
team.setBackgroundResource(R.drawable.tab_background);
}
public
void
showGamebox() {
bodyView.removeAllViews();
bodyView.addView(getLocalActivityManager().startActivity(
"gamebox"
,
new
Intent(ActsGroup.
this
, Menu2Activity.
class
)).getDecorView());
gamebox.setBackgroundResource(R.drawable.tab_highlight);
home.setBackgroundResource(R.drawable.tab_background);
more.setBackgroundResource(R.drawable.tab_background);
team.setBackgroundResource(R.drawable.tab_background);
}
public
void
showTeam() {
bodyView.removeAllViews();
bodyView.addView(getLocalActivityManager().startActivity(
"team"
,
new
Intent(ActsGroup.
this
, Menu2Activity.
class
)).getDecorView());
team.setBackgroundResource(R.drawable.tab_highlight);
home.setBackgroundResource(R.drawable.tab_background);
more.setBackgroundResource(R.drawable.tab_background);
gamebox.setBackgroundResource(R.drawable.tab_background);
}
public
void
showMore() {
bodyView.removeAllViews();
bodyView.addView(getLocalActivityManager().startActivity(
"more"
,
new
Intent(ActsGroup.
this
, Menu2Activity.
class
)).getDecorView());
more.setBackgroundResource(R.drawable.tab_highlight);
home.setBackgroundResource(R.drawable.tab_background);
team.setBackgroundResource(R.drawable.tab_background);
gamebox.setBackgroundResource(R.drawable.tab_background);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
android:orientation = "vertical" android:layout_width = "fill_parent" android:layout_height = "fill_parent" > <!--动态显示界面 --> < LinearLayout android:id = "@+id/bodyL" android:orientation = "vertical" android:layout_width = "fill_parent" android:layout_height = "fill_parent" android:layout_weight = "0.95" > </ LinearLayout > <!--底部功能菜单栏 --> android:id = "@+id/bottomlist" android:orientation = "horizontal" android:layout_width = "fill_parent" android:layout_height = "wrap_content" android:layout_weight = "0.05" > android:id = "@+id/home" android:orientation = "vertical" android:layout_width = "wrap_content" android:layout_height = "fill_parent" android:layout_weight = "5" android:gravity = "center_horizontal" > < ImageView android:background = "@drawable/home" android:layout_gravity = "top|center" android:layout_height = "35dp" android:layout_width = "32dp" android:layout_marginTop = "4dp" /> < TextView android:layout_width = "wrap_content" android:layout_height = "20dp" android:text = "@string/home" /> </ LinearLayout > android:id = "@+id/gamebox" android:orientation = "vertical" android:layout_width = "wrap_content" android:layout_height = "fill_parent" android:layout_weight = "5" android:gravity = "center_horizontal" > < ImageView android:background = "@drawable/gamebox" android:layout_gravity = "top|center" android:layout_height = "35dp" android:layout_width = "32dp" android:layout_marginTop = "4dp" /> < TextView android:layout_width = "wrap_content" android:layout_height = "20dp" android:text = "@string/gamebox" /> </ LinearLayout > android:id = "@+id/team" android:orientation = "vertical" android:layout_width = "wrap_content" android:layout_height = "fill_parent" android:layout_weight = "5" android:gravity = "center_horizontal" > < ImageView android:background = "@drawable/team" android:layout_gravity = "top|center" android:layout_height = "35dp" android:layout_width = "32dp" android:layout_marginTop = "4dp" /> < TextView android:layout_width = "wrap_content" android:layout_height = "20dp" android:text = "@string/team" /> </ LinearLayout > android:id = "@+id/more" android:orientation = "vertical" android:layout_width = "wrap_content" android:layout_height = "fill_parent" android:layout_weight = "5" android:gravity = "center_horizontal" > < ImageView android:background = "@drawable/more" android:layout_gravity = "top|center" android:layout_height = "35dp" android:layout_width = "32dp" android:layout_marginTop = "4dp" /> < TextView android:layout_width = "wrap_content" android:layout_height = "20dp" android:text = "@string/more" /> </ LinearLayout > </ LinearLayout > </ LinearLayout > |
ActivityGroup+LinearLayout实现iphone风格的底部tab菜单的更多相关文章
- Android自定义控件----RadioGroup实现APP首页底部Tab的切换
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment). ...
- Android典型界面设计——FragmentTabHost+Fragment实现底部tab切换
一.问题描述 在上次博文中,我们使用RadioGroup+ViewPage+Fragmen实现了顶部滑动导航(查看文章:http://www.cnblogs.com/jerehedu/p/460759 ...
- Ubuntu 14 添加Windows风格的底部任务栏
习惯了Windows风格的底部任务栏,而Ubuntu 14是没有的,还好有人做好了一个任务栏插件,可以在线安装: 1.打开终端(Ctrl+Alt+T),然后输入下面的命令 sudo apt-get i ...
- 界面底部Tab实现
现在基本上大部分的手机APP都要实现底部Tab,底部实现Tab的实现方式有很多种,那么有没有好的实现方式呢? 今天我将使用一个开源插件来实现底部Tab 参考自zhangli_的博客:http://bl ...
- Vue(小案例)底部tab栏和顶部title栏的实现
---恢复内容开始--- 一.前言 1.底部tab栏实现 2.顶部title栏实现 二.主要内容 1.底部tab栏实现(将底部导航提取到公共的组件中) 具体效果:当点击切换不同的tab的时候,对应 ...
- Xamarin.Forms 学习系列之底部tab
App中一般都会有一个底部tab,用于切换不同的功能,在Xamarin中应该制作底部tab了,需要把Android的TabbedPage做一次渲染,IOS的则不用,接下来说下详细步骤: 1.在共享项目 ...
- 自定义 简单 底部tab
项目地址:https://gitee.com/jielov/music-netease-api.git 先创建三个页面 分别为 home.vue , classify.vue, my.vue . 以下 ...
- 使用jQuery开发iOS风格的页面导航菜单
在线演示1 本地下载 申请达人,去除赞助商链接 iOS风格的操作系统和导航方式现在越来越流行,在今天的jQuery教程中,我们将介绍如何生成一个iphone风格的菜单导航. HTML代码 我们 ...
随机推荐
- 使用Python拼接多张图片
写机器学习相关博文,经常会碰到很多公式,而Latex正式编辑公式的利器.目前国内常用的博客系统,好像只有博客园支持,所以当初选择落户博客园.我现在基本都是用Latex写博文,然后要发表到博客园上与大家 ...
- Winsock IO模型之select模型
之所以称其为select模型是因为它主要是使用select函数来管理I/O的.这个模型的设计源于UNIX系统,目的是允许那些想要避免在套接字调用上阻塞的应用程序有能力管理多个套接字. int sele ...
- C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期
全局变量 作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件.) 生命周期:程序运行期一直存在 引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量. 内 ...
- HTML的<head>中的内容总结
[01]文件头部一般包含标题标签.<meta>标签.内联样式表及预定义脚本等. [02]<meta>标签在网页内容中不显示,但它的作用不容忽视.<meta>标签主要 ...
- 随手记录一个 firefox的backgroundPostion-x和-y的问题
今天帮大师写了一天项目,后来在测试一个显示升序和降序的标签上面,我使用了一个backgroundPosition-y来判断当前icon的状态,却无法不管是使用闭包还是个钟手段,在 firefox下面总 ...
- 转】MyEclipse使用总结——修改MyEclipse默认的Servlet和jsp代码模板
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/3769058.html 感谢! 一.修改Servlet的默认模板代码 使用MyEclipse创建Servlet时, ...
- JSF 2 panelGrid example
In JSF , "h:panelGrid" tag is used to generate HTML table tags to place JSF components in ...
- Dom操作的分类
1.DOM core 使用DOM core来获取表单对象的方法: document.getElementByTagName("form"); 使用DOM Core来获取某元素的sr ...
- 第二章TP-Link 703N OpenWrt刷回原厂固件
(TP官网)首先原厂固件下载 用终端,使用cat /proc/mtd查看路由支持的升级命令,我的是root@OpenWrt:~# cat /proc/mtd dev: size erases ...
- Javascript 装载和执行(copy的感觉有很多错误。。)
copy from:http://coolshell.cn/articles/9749.html 首先,我想说一下Javascript的装载和执行.通常来说,浏览器对于Javascript的运行有两大 ...