Android应用开发,微信下方四个按钮切换是怎么实现的

是不是按钮使用Fragment,上方显示使用FragmeLayout,建立监听,然后每次改变Activity?监听需要重新写吗?另外:那四个按钮是用什么做的?Button... 是不是按钮使用Fragment,上方显示使用FragmeLayout,建立监听,然后每次改变Activity?监听需要重新写吗?
另外:那四个按钮是用什么做的?Button控件还是ActionBar?还是其他?
可以具体说说吗?谢谢!
展开
 我来答
醴陵霜之新星
推荐于2017-11-26
知道答主
回答量:44
采纳率:0%
帮助的人:9.9万
展开全部

反编译了微信5.0 main_tab.xml的布局

<?xml version="1.0" encoding="utf-8"?>
<TabHost android:id="@id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="

    <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
            <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" />
            <TabWidget android:id="@android:id/tabs" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" />
            <LinearLayout android:gravity="bottom" android:layout_gravity="bottom" android:orientation="horizontal" android:id="@id/main_tab_group" android:background="@drawable/mmfooter_bg" android:paddingTop="2.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
                <FrameLayout android:background="@null" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
                    <LinearLayout android:gravity="bottom|center" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <RadioButton android:id="@id/main_tab_weixin" android:checked="true" android:text="@string/main_title" android:drawableTop="@drawable/tab_weixin" style="@style/MMTabButton" />
                    </LinearLayout>
                    <LinearLayout android:gravity="top|right|center" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <TextView android:textSize="10.0dip" android:textColor="@color/white" android:gravity="center" android:id="@id/main_tab_unread_tv" android:background="@drawable/tab_unread_bg" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@null" />
                    </LinearLayout>
                </FrameLayout>
                <FrameLayout android:background="@null" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
                    <LinearLayout android:gravity="bottom|center" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <RadioButton android:id="@id/main_tab_address" android:text="@string/main_contact" android:drawableTop="@drawable/tab_address" style="@style/MMTabButton" />
                    </LinearLayout>
                    <LinearLayout android:gravity="top|right|center" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <TextView android:textSize="10.0dip" android:textColor="@color/white" android:gravity="center" android:id="@id/main_tab_fmessage_unread_tv" android:background="@drawable/tab_unread_bg" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@null" />
                    </LinearLayout>
                </FrameLayout>
                <FrameLayout android:background="@null" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
                    <LinearLayout android:gravity="bottom|center" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <RadioButton android:id="@id/main_tab_find_friend" android:text="@string/main_addcontact" android:drawableTop="@drawable/tab_find_frd" style="@style/MMTabButton" />
                    </LinearLayout>
                    <LinearLayout android:gravity="top|right|center" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <TextView android:textSize="10.0dip" android:textColor="@color/white" android:gravity="center" android:id="@id/main_tab_findfriend_prospect_tv" android:background="@drawable/friendactivity_newnotice" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" />
                    </LinearLayout>
                    <LinearLayout android:gravity="top|right|center" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <TextView android:textSize="10.0dip" android:textColor="@color/white" android:gravity="center" android:id="@id/main_tab_new_tv" android:background="@drawable/tab_unread_bg" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="40.0dip" android:text="@string/app_new" />
                    </LinearLayout>
                    <LinearLayout android:gravity="top|right|center" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <TextView android:textSize="10.0dip" android:textColor="@color/white" android:gravity="center" android:id="@id/main_tab_sayhi_new_tv" android:background="@drawable/tab_unread_bg" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_new" />
                    </LinearLayout>
                </FrameLayout>
                <FrameLayout android:background="@null" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
                    <LinearLayout android:gravity="bottom|center" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <RadioButton android:id="@id/main_tab_more" android:text="@string/main_more" android:drawableTop="@drawable/tab_settings" style="@style/MMTabButton" />
                    </LinearLayout>
                    <LinearLayout android:gravity="top|right|center" android:paddingRight="10.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <TextView android:textSize="10.0dip" android:textColor="@color/white" android:gravity="center" android:id="@id/main_tab_setting_new_tv" android:background="@drawable/tab_unread_bg" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_new" />
                    </LinearLayout>
                </FrameLayout>
            </LinearLayout>
        </LinearLayout>
        <com.tencent.mm.ui.voicesearch.VoiceSearchLayout android:gravity="bottom" android:layout_gravity="bottom" android:id="@id/voice_search_layout" android:paddingBottom="0.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="0.0dip" />
    </FrameLayout>
</TabHost>

 看到Tabhost+RadioButton的实现了吧。



再给你贴个连接的源码  

[Android实例] FragmentTabHost 实现底部菜单功能 

[复制链接]

http://www.eoeandroid.com/thread-305278-1-1.html

诸马葛懿
2013-09-26
知道答主
回答量:10
采纳率:0%
帮助的人:9.5万
展开全部
简单点的直接用TabHost控件;想个性化点重写TabHost
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyw2007小兵
2013-09-26
知道答主
回答量:28
采纳率:0%
帮助的人:20.7万
展开全部
这个网上有很多的资料,你可以搜一下"底部菜单导航"就有很多了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式