Android开发中怎么实现一个底部菜单栏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
在Android中实现菜单功能有多种方法。
选项菜单:用户按下菜单按钮时显示的菜单。
上下文菜单:用户长时间按下屏幕,所显示出来的菜单也称为上下文菜单。
子菜单:子菜单。
但是有时候这些内置的菜单并不能满足我们功能,这就需要自己自定义一种菜单。接下来我说的这种就是通过TabHost与RadioGroup结合完成的菜单。这也是很常用的一种底部菜单做法。先上图:
& lt;及# 63;Xml version=?.0”;编码=癠TF-8", # 63;比; & lt; TabHost android: id=癅android: id/tabhost"android: layout_width=癴ill_parent"android: layout_height=癴ill_parent" xmlns: android=癶ttp://schemas.android.com/apk/res/android"比; LinearLayout & lt; android:取向=皏ertical" android: layout_width=癴ill_parent" android: layout_height=癴ill_parent"比; & lt; FrameLayout android: id=癅android: id/tabcontent" android: layout_width=癴ill_parent" android: layout_height=?.0 dip" android: layout_weight=?.0”;/比; & lt; TabWidget android: id=癅android: id/tabs" android:可见性=癵one" android: layout_width=癴ill_parent" android: layout_height=皐rap_content" android: layout_weight=?.0”;/比; & lt; RadioGroup android:重力=癱enter_vertical" android: layout_gravity=癰ottom" android:取向=癶orizontal" android: id=癅 + id/main_radio" android:背景=癅drawable/maintab_toolbar_bg" android: layout_width=癴ill_parent" android: layout_height=皐rap_content"比; & lt; RadioButton android: id=癅 + id/radio_button0" android:标签=皉adio_button0" android: layout_marginTop=?.0 dip" android:文本=癅string/alarm" android: drawableTop=癅drawable/icon_1"/比; & lt; RadioButton android: id=癅 + id/radio_button1" android:标签=皉adio_button1" android: layout_marginTop=?.0 dip" android:文本=癅string/message" android: drawableTop=癅drawable/icon_2"/比; & lt; RadioButton android: id=癅 + id/radio_button2" android:标签=皉adio_button2" android: layout_marginTop=?.0 dip" android:文本=癅string/photo" android: drawableTop=癅drawable/icon_3"/比; & lt; RadioButton android: id=癅 + id/radio_button3" android:标签=皉adio_button3" android: layout_marginTop=?.0 dip" android:文本=癅string/音乐”; android: drawableTop=癅drawable/icon_4"/比; & lt; RadioButton android: id=癅 + id/radio_button4" android:标签=皉adio_button4" android: layout_marginTop=?.0 dip" android:文本=癅string/setting" android: drawableTop=癅drawable/icon_5"/比; & lt;/RadioGroup> & lt;/LinearLayout> & lt;/TabHost>
需要注意的是,如果用TabHost这个控件,其中有几个ID是必须这么写的,android: ID=癅android: ID/TabHost; android: ID=" @android: ID/tabcontent”; android: ID=" @android: ID/标签”,之所以要这么写是因为在TabHost这个类中。需要实例化上述这个ID的控件。看源码:
在TabActivity中有么个方法:
@Override 公共空间>公共空设置(){ mTabWidget=(TabWidget) findViewById (com.android.internal.R.id.tabs); 如果(mTabWidget==null) { 把新的RuntimeException ( “你TabHost必须有一个id属性的TabWidget & # 39; android.R.id.tabs& # 39;“); }//KeyListener把所有选项卡。检测non-navigation键//继电器他们选项卡的内容。 mTabKeyListener=new>包com.iteye.androidtoast; 进口android.app.TabActivity; 进口android.content.Intent; 进口android.os.Bundle; 进口android.widget.RadioGroup; 进口android.widget.RadioGroup.OnCheckedChangeListener; 进口android.widget.TabHost; 公共类MainActivity TabActivity延伸实现>关于Android开发中怎么实现一个底部菜单栏问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。Android开发中怎么实现一个底部菜单栏