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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    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>
    <!--底部功能菜单栏 -->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/bottomlist"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.05">
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            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>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            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>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            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>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            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菜单的更多相关文章

  1. Android自定义控件----RadioGroup实现APP首页底部Tab的切换

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  2. Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment). ...

  3. Android典型界面设计——FragmentTabHost+Fragment实现底部tab切换

    一.问题描述 在上次博文中,我们使用RadioGroup+ViewPage+Fragmen实现了顶部滑动导航(查看文章:http://www.cnblogs.com/jerehedu/p/460759 ...

  4. Ubuntu 14 添加Windows风格的底部任务栏

    习惯了Windows风格的底部任务栏,而Ubuntu 14是没有的,还好有人做好了一个任务栏插件,可以在线安装: 1.打开终端(Ctrl+Alt+T),然后输入下面的命令 sudo apt-get i ...

  5. 界面底部Tab实现

    现在基本上大部分的手机APP都要实现底部Tab,底部实现Tab的实现方式有很多种,那么有没有好的实现方式呢? 今天我将使用一个开源插件来实现底部Tab 参考自zhangli_的博客:http://bl ...

  6. Vue(小案例)底部tab栏和顶部title栏的实现

    ---恢复内容开始--- 一.前言 1.底部tab栏实现 2.顶部title栏实现 二.主要内容   1.底部tab栏实现(将底部导航提取到公共的组件中) 具体效果:当点击切换不同的tab的时候,对应 ...

  7. Xamarin.Forms 学习系列之底部tab

    App中一般都会有一个底部tab,用于切换不同的功能,在Xamarin中应该制作底部tab了,需要把Android的TabbedPage做一次渲染,IOS的则不用,接下来说下详细步骤: 1.在共享项目 ...

  8. 自定义 简单 底部tab

    项目地址:https://gitee.com/jielov/music-netease-api.git 先创建三个页面 分别为 home.vue , classify.vue, my.vue . 以下 ...

  9. 使用jQuery开发iOS风格的页面导航菜单

    在线演示1 本地下载     申请达人,去除赞助商链接 iOS风格的操作系统和导航方式现在越来越流行,在今天的jQuery教程中,我们将介绍如何生成一个iphone风格的菜单导航. HTML代码 我们 ...

随机推荐

  1. 黑马程序员——有关protocol的小结

    在OC程序中经常会有这样的问题就是一个类想让其他类帮自己实现某些方法,然后再将结果返回给这个类:如何让一个类要找的代理去实现自己想要的方法呢? 这样就需要有一个协议,让能遵守协议的其他类都能实现协议中 ...

  2. EventSource (node.js 与 OC)

    node.js服务器代码: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, ...

  3. poj 3299 Humidex

    直接套公式就可以,可我套公式第一遍都错了,英语差的孩子伤不起(┬_┬) #include <iostream> #include <cmath> #include <io ...

  4. Context3D 不可用

    打开项目文件夹中的html-template,并找到index.template.html,右键使用TextEditor编辑,在params.allowfullscreen=”true”:后面加上pa ...

  5. Office 365 plans, SharePoint Online, and SharePoint 2013 on-premises 功能对比列表

    Andrew ConnellSharePoint大牛整理了一个各个版本SharePoint功能对比列表,是SharePoint相关人员必备资料.赶紧收藏起来. SharePoint 2013 Feat ...

  6. RAD XE10 Seattle

    RAD Studio 10 Seattle RAD XE10 Seattle RAD 10 Seattle c++builder 10 Seattle Delphi 10 Seattle http:/ ...

  7. jxse2.6在jdk8下,JxtaMulticastSocket存在的问题

    JxtaMulticastSocket覆写了java.net.MulticastSocket的bind方法: @Override public void bind(SocketAddress addr ...

  8. labview图形和图表的类型

    http://zone.ni.com/reference/zhs-XX/help/371361L-0118/lvconcepts/types_of_graphs_and_charts/ LabVIEW ...

  9. Labview中的属性节点

    获取(读取)和/或设置(写入)引用的属性.通过属性节点对本地或远程应用程序实例.VI或对象获取或设置属性和方法也可通过属性节点访问LabVIEW类的私有数据. 属性节点可自动调整为用户所引用的对象的类 ...

  10. 【下有对策】verycd没有的资源有很多方法下载

    由于国内专门从事假冒电驴官方欺骗中国人的verycd公司出品的冒牌官方电驴"阉割驴"目前已经阉割掉了搜索功能,请电驴爱好者们尽快更换正宗版电驴软件: 电骡--emule官方网站:h ...