andrid底部导航栏设计.doc_第1页
andrid底部导航栏设计.doc_第2页
andrid底部导航栏设计.doc_第3页
andrid底部导航栏设计.doc_第4页
andrid底部导航栏设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android应用底部导航栏(选项卡)实例现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能。我们先看下该demo实例的框架图:其中各个类的作用以及资源文件就不详细解释了,还有资源图片(在该Demo中借用了其它应用程序的资源图片)也不提供了,大家可以自行更换自己需要的资源图片。直接上各个布局文件或各个类的代码:1 res/layout目录下的maintabs.xml源码:html 2 res/drawable 下的home_btn_bg.xml 源码:html 3 res/values 下的源码:dimens.xml源码html 10.0sp 5.0dip 2.0dip 30.0sp 100.0dip 48.0dip 20.0dip 19.0dip 10.0dip 20.0dip 10.0dip 35.0dip 74.0dip 70.0dip 13.299988dip 20.0dip 0.0dip 20.0sp 10.0dip 50.0dipdrawables.xml源码:html #fff4f4f4 #fffff4db #ff000000 #00000000 android:color/transparent #99000000 #fff4f4f4 #ff272727 #ff333333ids.xml源码:html false false false false false falsestrings.xml源码:html Hello World, MainTabActivity! TabDemo 消息 首页 更多 时间 好友styles.xml源码:html dimen/bottom_tab_font_size #ffffffff marquee center_horizontal drawable/home_btn_bg dimen/bottom_tab_padding_up 2.0dip fill_parent wrap_content 2.0dip null true dimen/bottom_tab_padding_drawable 1.0 4 src/com.andyidea.tabdemo包下面各个UI界面类源码:MainTabActivity.java源码:htmlpackage com.andyidea.tabdemo;import android.app.TabActivity;import android.content.Intent;import android.os.Bundle;import android.view.Window;import android.widget.CompoundButton;import android.widget.RadioButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.TabHost;public class MainTabActivity extends TabActivity implements OnCheckedChangeListener private TabHost mTabHost; private Intent mAIntent; private Intent mBIntent; private Intent mCIntent; private Intent mDIntent; private Intent mEIntent; /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.maintabs); this.mAIntent = new Intent(this,AActivity.class); this.mBIntent = new Intent(this,BActivity.class); this.mCIntent = new Intent(this,CActivity.class); this.mDIntent = new Intent(this,DActivity.class); this.mEIntent = new Intent(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 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) if(isChecked) switch (buttonView.getId() case R.id.radio_button0: this.mTabHost.setCurrentTabByTag(A_TAB); break; case R.id.radio_button1: this.mTabHost.setCurrentTabByTag(B_TAB); break; case R.id.radio_button2: this.mTabHost.setCurrentTabByTag(C_TAB); break; case R.id.radio_button3: this.mTabHost.setCurrentTabByTag(D_TAB); break; case R.id.radio_button4: this.mTabHost.setCurrentTabByTag(MORE_TAB); break; private void setupIntent() this.mTabHost = getTabHost(); TabHost localTabHost = 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.icon_2_n, this.mBIntent); localTabHost.addTab(buildTabSpec(C_TAB, R.string.main_manage_date, R.drawable.icon_3_n, this.mCIntent); localTabHost.addTab(buildTabSpec(D_TAB, R.string.main_friends, R.drawable.icon_4_n, this.mDIntent); localTabHost.addTab(buildTabSpec(MORE_TAB, R.string.more, R.drawable.icon_5_n, this.mEIntent); private TabHost.TabSpec buildTabSpec(String tag, int resLabel, int resIcon, final Intent content) return this.mTabHost.newTabSpec(tag).setIndicator(getString(resLabel), getResources().getDrawable(resIcon).setContent(content); 其中AActivity.java 与BActivity.java ,CActivity.java ,DActivity.java ,EActivity.java 中的源码都一样,只是用来表示不同的界面展示,故这里只列出AActivity.java的源码:htmlpackage com.andyidea.tabdemo;import android.app.Activity;import android.os.Bundle;import android.view.Gravity;import android.widget.TextView;public class AActivity extends Activity Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); TextView tv = new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论