Android编程实现将tab选项卡放在屏幕底部的方法

 更新时间:2017年03月01日 10:23:48   作者:android小猪  
这篇文章主要介绍了Android编程实现将tab选项卡放在屏幕底部的方法,涉及Android界面布局、tab设置及权限控制相关操作技巧,需要的朋友可以参考下

本文实例讲述了Android编程实现将tab选项卡放在屏幕底部的方法。分享给大家供大家参考,具体如下:

今天写Tab的时候由于TAB的跳转问题去查资料,倒反而发现更有趣的问题,就是如何将TAB放置在屏幕的底端。有点类似IPhone里的布局了,呵呵~(其实后来发现这个应该不是用TAB做的,而是ButtonBar做出来的吧,或者是他重写了TAB?总之不是简单地将TAB放置底端了)。

要放置底端,那么Android自带的例程是不可以做到的(例程参看development-ApiDemo)。先需要写一个xml的layout文档,命名为bottomtab.xml。

<?xml version="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:androidLinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <TabHost android:id="@+id/edit_item_tab_host"
    android:layout_width="fill_parent"android:layout_height="fill_parent">
    <LinearLayout android:orientation="vertical"
      android:layout_width="fill_parent"android:layout_height="fill_parent"
      android:padding="5dp">
      <FrameLayoutandroid:idFrameLayoutandroid:id="@android:id/tabcontent"
        android:layout_width="fill_parent"android:layout_height="wrap_content"
        android:padding="5dp" android:layout_weight="1"/>
      <TabWidget android:id="@android:id/tabs"
        android:layout_width="fill_parent"android:layout_height="wrap_content"
        android:layout_weight="0" />
    </LinearLayout>
  </TabHost>
</LinearLayout>

然后以下就是完整的代码了:

import android.app.ActivityGroup;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class TestTab extends ActivityGroup {
  publicstatic TabHost tab_host;
  @Override
  protectedvoid onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.bottomtab);
    tab_host = (TabHost) findViewById(R.id.edit_item_tab_host);
    tab_host.setup(this.getLocalActivityManager());
    TabSpec ts1 = tab_host.newTabSpec("TAB_WEATHER");
    ts1.setIndicator("Weather");
    ts1.setContent(new Intent(this, Weather.class));
    tab_host.addTab(ts1);
    TabSpec ts2 = tab_host.newTabSpec("TAB_MAIL");
    ts2.setIndicator("Mail");
    ts2.setContent(new Intent(this, MailSend.class));
    tab_host.addTab(ts2);
    TabSpec ts3 = tab_host.newTabSpec("TAB_JUMP");
    ts3.setIndicator("Jump");
    ts3.setContent(new Intent(this, TabJump.class));
    tab_host.addTab(ts3);
    tab_host.setCurrentTab(0);
  }
}

而关于页面的跳转,就是:

TestTab.tabHost.setCurrentTab(0);

如此这般,就形成了下面的这个东西,其实还没有放在上面好看。。。所以也证实了上面那个应用不是简单地放置TAB在底端了。有机会还是再看看ButtonBar了。

注意:Weather.class 等Activity要在 在AndroidMenifest.xml添加声明

在 application tag之间加上如下代码:

</activity>
   <activityandroid:nameactivityandroid:name=".Weather">
</activity>
   <activityandroid:nameactivityandroid:name=".MailSend">
</activity>
   <activityandroid:nameactivityandroid:name=".TabJump">
</activity>

PS:关于AndroidManifest.xml文件相关属性功能可参考本站在线工具:

Android Manifest功能与权限描述大全:
http://tools.jb51.net/table/AndroidManifest

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结

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

相关文章

  • Android ViewPager的MVP架构搭建过程

    Android ViewPager的MVP架构搭建过程

    本文主要介绍了ViewPager在Android中的作用以及使用场景,如引导页、图片浏览器、新闻或文章内容的多标签页等,同时,还详细阐述了如何通过MVP架构来搭建ViewPager,将视图和逻辑进行解耦,提高代码的可测试性、可复用性,使代码结构更清晰且易于扩展功能
    2024-10-10
  • Flutter 插件url_launcher简介

    Flutter 插件url_launcher简介

    最近项目需求是打开一个连接跳转到安卓或苹果默认的浏览器。虽然开始一个简单的要求,其中的一个细节就是执行打开网页这一操作后,不能看上去像在应用内部打开,看上去要在应用外部打开,今天小编给大家介绍Flutter 插件url_launcher的相关知识,感兴趣的朋友一起看看吧
    2020-04-04
  • 通过Android trace文件分析死锁ANR实例过程

    通过Android trace文件分析死锁ANR实例过程

    遇到ANR(Application Not Responding)是比较常见的问题,产生ANR的原因有很多,比如CPU使用过高、事件没有得到及时的响应、死锁等,下面将通过一次因为死锁导致的ANR问题,来说明如何通过trace文件分析ANR问题
    2013-06-06
  • Android中的windowSoftInputMode属性详解

    Android中的windowSoftInputMode属性详解

    这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
    2014-10-10
  • Android如何在原生App中嵌入Flutter

    Android如何在原生App中嵌入Flutter

    这篇文章主要介绍了Android如何在原生App中嵌入Flutter,帮助大家更好的理解和学习Android开发,感兴趣的朋友可以了解下
    2021-03-03
  • Android中的Choreographer工作原理解析

    Android中的Choreographer工作原理解析

    Choreographer作为Android系统中重要的组件,负责协调App进程的UI渲染与SurfaceFlinger进程的数据合成,本文详细分析了Choreographer的创建流程、VSYNC信号的调度和处理机制,揭示了其在UI渲染过程中的核心作用
    2024-10-10
  • Android实现自定义滑动刻度尺方法示例

    Android实现自定义滑动刻度尺方法示例

    这篇文章主要给大家介绍了关于Android实现自定义滑动刻度尺的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Android使用文件进行IPC

    Android使用文件进行IPC

    这篇文章主要为大家详细介绍了Android使用文件进行IPC,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • android Tween Animation属性设置方法实例

    android Tween Animation属性设置方法实例

    在Android开发中,Animation是用来给控件制作效果的,本文介绍二种实现方法
    2013-11-11
  • android 手机SD卡读写操作(以txt文本为例)实现步骤

    android 手机SD卡读写操作(以txt文本为例)实现步骤

    要完成SD卡读写操作首先对manifest注册SD卡读写权限其次是创建一个对SD卡中文件读写的类写一个用于检测读写功能的的布局然后就是UI的类了,感兴趣的朋友可以参考下,希望可以帮助到你
    2013-02-02

最新评论