Android简单实现屏幕下方Tab菜单的方法

本文实例讲述了Android简单实现屏幕下方Tab菜单的方法。分享给大家供大家参考,具体如下:

看到很多热门的Android程序(如:新浪微博、腾讯微博、京东商城、淘宝、当当等等)使用选项卡风格作为程序界面的主框架结构,而Android的选项卡控件默认是按钮在上方的。我在网上看到有多种实现方法,这里提供一种个人觉得比较简单的。由于我对Android开发所知甚少,方法的优劣目前不好评价,欢迎各位提供更好的思路。

主要原理:设置 TabWidget 控件的 android:layout_alignParentBottom="true" 实现。

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<TabHost android:id="@+id/tabhost" xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical" android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <RelativeLayout android:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <TabWidget android:id="@android:id/tabs"
      android:layout_width="fill_parent" android:layout_height="wrap_content"
      android:layout_alignParentBottom="true" />
    <FrameLayout android:id="@android:id/tabcontent"
      android:layout_width="fill_parent" android:layout_height="fill_parent">
      <LinearLayout android:id="@+id/tab1"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        androidrientation="vertical">
        <TextView android:id="@+id/view1" android:layout_width="wrap_content"
          android:layout_height="wrap_content" android:text="@string/textView_1" />
      </LinearLayout>
      <LinearLayout android:id="@+id/tab2"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        androidrientation="vertical">
        <TextView android:id="@+id/view2" android:layout_width="wrap_content"
          android:layout_height="wrap_content" android:text="@string/textView_2" />
      </LinearLayout>
      <LinearLayout android:id="@+id/tab3"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        androidrientation="vertical">
        <TextView android:id="@+id/view3" android:layout_width="wrap_content"
          android:layout_height="wrap_content" android:text="@string/textView_3" />
      </LinearLayout>
      <LinearLayout android:id="@+id/tab4"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        androidrientation="vertical">
        <TextView android:id="@+id/view4" android:layout_width="wrap_content"
          android:layout_height="wrap_content" android:text="@string/textView_4" />
      </LinearLayout>
    </FrameLayout>
  </RelativeLayout>
</TabHost>

zhnews.java:

package net.zhnews.android;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;
public class zhnews extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    setTitle("珠海新闻网Android客户端");
    TabHost tabs = (TabHost) findViewById(R.id.tabhost);
    tabs.setup();
    TabHost.TabSpec spec = tabs.newTabSpec("tab1");
    spec.setContent(R.id.tab1);
    spec.setIndicator("新闻");
    tabs.addTab(spec);
    spec = tabs.newTabSpec("tab2");
    spec.setContent(R.id.tab2);
    spec.setIndicator("搜联社");
    tabs.addTab(spec);
    spec = tabs.newTabSpec("tab3");
    spec.setContent(R.id.tab3);
    spec.setIndicator("影像");
    tabs.addTab(spec);
    spec = tabs.newTabSpec("tab4");
    spec.setContent(R.id.tab4);
    spec.setIndicator("设置");
    tabs.addTab(spec);
    tabs.setCurrentTab(0);
  }
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android实现App中导航Tab栏悬浮的功能

    首先是"饿了么"导航Tab栏悬浮的效果图. 大家可以看到上图中的"分类"."排序"."筛选"会悬浮在app的顶部,状态随着ScrollView(也可能不是ScrollView,在这里姑且把这滑动的UI控件当作ScrollView吧)的滚动而变化.像这种导航Tab栏悬浮的作用相信大家都能体会到,Tab栏不会随着ScrollView等的滚动而被滑出屏幕外,增加了与用户之间的交互性和方便性. 看到上面的效果,相信大家都跃跃欲试了,那

  • 关注Ionic底部导航按钮tabs在android情况下浮在上面的处理

    Ionic是一款流行的移动端开发框架,但是刚入门的同学会发现,Ionic在iOS和Android的底部tabs显示不一样.在安卓情况下底部tabs会浮上去. 如下图展示: 网上也有很多此类的解决方案,但是我觉得说一千道一万都不如给个dome实在,下面附上解决方案的dome,大家可以看看! <!DOCTYPE html> <html ng-app="ionic"> <head> <meta charset="UTF-8">

  • Android实现为Tab添加Menu的方法

    本文实例讲述了Android实现为Tab添加Menu的方法.分享给大家供大家参考,具体如下: 在Android中,TabActivity类中没有与Menu有关的方法,所以如果单独使用TabActivity进行开发时,是无法创建菜单项的.为了给Tab增加菜单,有如下两种方法: 1. 主事件继承Activity.这样就可以在主事件中直接重写OnCreateOptionsMenu方法,为程序添加Menu.如果每个Tab需要有不同的Menu,可以为TabHost添加一个OnTabChangedListe

  • Android 微信6.1 tab栏图标和字体颜色渐变的实现

    相信大家都见到了微信图标颜色渐变的过程,是不是感觉很牛逼?不得不说微信团队确实是很厉害的团队,不管是从设计还是开发人员. 今天我带大家来看看,微信 tab 栏图标和字体颜色渐变的过程.先上图吧!今天学了一招制作 gif 动态图的快捷方法.刚好用的上,以前一直想写点什么东西, 苦于一直不知道怎么生成动态图,现在终于学会了,哈哈,让我偷偷的乐一会.额,还是上图吧... 好了,效果图也看到了,那么我也就不多啰嗦了,直接进入主题,看代码 [java] view plain copy package mo

  • android TabLayout使用方法详解

    Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件.最重要的是,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2. 这两天需要做一个仿京东详情的页面,上面的Tab切换,以前都是自己写Viewpager+fragment

  • Android中TabLayout结合ViewPager实现页面切换效果

    先看看效果,如图: 1.因为TabLayout是Android Design Support Library官方库的一个控件,所以使用TabLayout时候需要先添加对该库的依赖 compile 'com.android.support:design:22.2.0' 2.下面是TabLayout和ViewPager配合使用的布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns

  • Android实现仿微信tab高亮icon粘着手的滑动效果

    微信的主页分为3个tab,被选中的tab的tabwidget下面会有一个高亮的长条icon,而当切换tab页面的时候,这个icon不是等到tab切换完成后再出现在当前被选中的tab的tabwidget的下面,而是会随着viewpager滑动页面的动作也进行滑动,从前一个tabwidget滑到当前被选中的tabwidget,像viewpager一样有一种粘着你的手的效果,体验很赞.上个图: 本篇分析如何实现这个效果. 首先基本知识是,实现不同tab页之间可以滑动切换需要用到TabPageIndic

  • Android TabLayout实现京东详情效果

    Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件.最重要的是,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2. 这两天需要做一个仿京东详情的页面,上面的Tab切换,以前都是自己写Viewpager+fragment

  • Android 中TabLayout自定义选择背景滑块的实例代码

    TabLayout是Android 的Material Design包中的一个控件,可以和V4包中的ViewPager搭配产生一个联动的效果.这里我自定义了一个滑块能够跟随TabLayout进行滑动选择的SliderLayout.效果见下图(白色方框): 下面是SliderLayout的源码: import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawabl

  • android中实现背景图片颜色渐变方法

    常用,记录一下. 效果图: 首先新建xml文件  bg_gradient.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>  <shape xmlns:android="http://schemas.android.com/apk/res/android" >        <gradient          android:startColor="

随机推荐