andrid底部导航栏设计说明.docx
- 文档编号:6255602
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:8
- 大小:59.72KB
andrid底部导航栏设计说明.docx
《andrid底部导航栏设计说明.docx》由会员分享,可在线阅读,更多相关《andrid底部导航栏设计说明.docx(8页珍藏版)》请在冰豆网上搜索。
andrid底部导航栏设计说明
Android应用底部导航栏(选项卡)实例
现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能。
我们先看下该demo实例的框架图:
其中各个类的作用以及资源文件就不详细解释了,还有资源图片(在该Demo中借用了其它应用程序的资源图片)也不提供了,大家可以自行更换自己需要的资源图片。
直接上各个布局文件或各个类的代码:
[1] res/layout目录下的maintabs.xml 源码:
[html]
xmlversion="1.0"encoding="UTF-8"?
>
id="@android: id/tabhost"android: layout_width="fill_parent"android: layout_height="fill_parent" xmlns: android="http: //schemas.android./apk/res/android"> orientation="vertical"android: layout_width="fill_parent"android: layout_height="fill_parent"> id="@android: id/tabcontent"android: layout_width="fill_parent"android: layout_height="0.0dip"android: layout_weight="1.0"/> id="@android: id/tabs"android: visibility="gone"android: layout_width="fill_parent"android: layout_height="wrap_content"android: layout_weight="0.0"/> android: gravity="center_vertical"android: layout_gravity="bottom"android: orientation="horizontal"android: id="@id/main_radio"android: background="@drawable/maintab_toolbar_bg" android: layout_width="fill_parent"android: layout_height="wrap_content"> id="@id/radio_button0"android: layout_marginTop="2.0dip"android: text="@string/main_home"android: drawableTop="@drawable/icon_1_n"style="@style/main_tab_bottom"/> id="@id/radio_button1"android: layout_marginTop="2.0dip"android: text="@string/main_news"android: drawableTop="@drawable/icon_2_n"style="@style/main_tab_bottom"/> id="@id/radio_button2"android: layout_marginTop="2.0dip"android: text="@string/main_manage_date"android: drawableTop="@drawable/icon_3_n"style="@style/main_tab_bottom"/> id="@id/radio_button3"android: layout_marginTop="2.0dip"android: text="@string/main_friends"android: drawableTop="@drawable/icon_4_n"style="@style/main_tab_bottom"/> id="@id/radio_button4"android: layout_marginTop="2.0dip"android: text="@string/more"android: drawableTop="@drawable/icon_5_n"style="@style/main_tab_bottom"/> [2]res/drawable下的home_btn_bg.xml源码: .2cto. [html] xmlversion="1.0"encoding="UTF-8"? > xmlns: android="http: //schemas.android./apk/res/android"> state_focused="true"android: state_enabled="true"android: state_pressed="false"android: drawable="@drawable/home_btn_bg_s"/> state_enabled="true"android: state_pressed="true"android: drawable="@drawable/home_btn_bg_s"/> state_enabled="true"android: state_checked="true"android: drawable="@drawable/home_btn_bg_d"/> drawable="@drawable/transparent"/> [3]res/values下的源码: dimens.xml源码 [html] xmlversion="1.0"encoding="utf-8"? > drawables.xml源码: [html] xmlversion="1.0"encoding="utf-8"? > color/transparent ids.xml源码: [html] xmlversion="1.0"encoding="utf-8"? > strings.xml源码: [html] xmlversion="1.0"encoding="utf-8"? > styles.xml源码: [html] xmlversion="1.0"encoding="utf-8"? > textSize">@dimen/bottom_tab_font_size textColor">#ffffffff ellipsize">marquee gravity">center_horizontal background">@drawable/home_btn_bg paddingTop">@dimen/bottom_tab_padding_up paddingBottom">2.0dip layout_width">fill_parent layout_height">wrap_content layout_marginBottom">2.0dip button">@null singleLine">true drawablePadding">@dimen/bottom_tab_padding_drawable layout_weight">1.0 [4]src/.andyidea.tabdemo包下面各个UI界面类源码: MainTabActivity.java源码: [html] package.andyidea.tabdemo; importandroid.app.TabActivity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.Window; importandroid.widget.CompoundButton; importandroid.widget.RadioButton; importandroid.widget.CompoundButton.OnCheckedChangeListener; importandroid.widget.TabHost; publicclassMainTabActivityextendsTabActivityimplementsOnCheckedChangeListener{ privateTabHostmTabHost; privateIntentmAIntent; privateIntentmBIntent; privateIntentmCIntent; privateIntentmDIntent; privateIntentmEIntent; /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.maintabs); this.mAIntent=newIntent(this,AActivity.class); this.mBIntent=newIntent(this,BActivity.class); this.mCIntent=newIntent(this,CActivity.class); this.mDIntent=newIntent(this,DActivity.class); this.mEIntent=newIntent(this,EActivity.class); ((RadioButton)findViewById(R.id.radio_button0)) .setOnCheckedChangeListener(this); ((RadioButton)findViewById(R.id.radio_button1)) .setOnCheckedChangeListener(this); ((RadioButton)findViewById(R.id.radio_button2)) .setOnCheckedChangeListener(this); ((RadioButton)findViewById(R.id.radio_button3)) .setOnCheckedChangeListener(this); ((RadioButton)findViewById(R.id.radio_button4)) .setOnCheckedChangeListener(this); setupIntent(); } @Override publicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){ if(isChecked){ switch(buttonView.getId()){ caseR.id.radio_button0: this.mTabHost.setCurrentTabByTag("A_TAB"); break; caseR.id.radio_button1: this.mTabHost.setCurrentTabByTag("B_TAB"); break; caseR.id.radio_button2: this.mTabHost.setCurrentTabByTag("C_TAB"); break; caseR.id.radio_button3: this.mTabHost.setCurrentTabByTag("D_TAB"); break; caseR.id.radio_button4: this.mTabHost.setCurrentTabByTag("MORE_TAB"); break; } } } privatevoidsetupIntent(){ this.mTabHost=getTabHost(); TabHostlocalTabHost=this.mTabHost; localTabHost.addTab(buildTabSpec("A_TAB",R.string.main_home, R.drawable.icon_1_n,this.mAIntent)); localTabHost.addTab(buildTabSpec("B_TAB",R.string.main_news, R.drawable.ic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- andrid 底部 导航 设计 说明