欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-11 19:06:52
本文实例讲述了android编程实现将tab选项卡放在屏幕底部的方法。分享给大家供大家参考,具体如下: 今天写tab的时候由于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程序设计有所帮助。

上一篇:

下一篇: