- 浏览: 5831454 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
Android TabWidget/TabHost有两种使用方法:
第一种:使用系统自带写好的TabHost(及继承自TabActivity类)具体代码如下:
第二种:就是定义我们自己的tabHost:不用继承TabActivity,具体代码如下:
注意:第二种方法时布局文件中的TabWidget的id必须定义为:android:id="@android:id/tabs",FrameLayout的id必须定义为:android:id="@android:id/tabcontent" 其它控件没有限制,否则报错。
【Android进阶】嵌套TabHost (TabHost中放TabHost,类似二级目录、二级树)
http://blog.csdn.net/feng88724/archive/2011/02/23/6203358.aspx
第一种:使用系统自带写好的TabHost(及继承自TabActivity类)具体代码如下:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 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/TextView1" android:text="This is a tab1" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> </LinearLayout> <LinearLayout android:id="@+id/tab2" android:layout_width="fill_parent" android:layout_height="fill_parent" androidrientation="vertical"> <TextView android:id="@+id/TextView2" android:text="This is a tab2" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> </LinearLayout> <LinearLayout android:id="@+id/tab3" android:layout_width="fill_parent" android:layout_height="fill_parent" androidrientation="vertical"> <TextView android:id="@+id/TextView3" android:text="This is a tab3" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> </LinearLayout> </FrameLayout>
package com.Aina.Android; import android.app.AlertDialog; import android.app.Dialog; import android.app.TabActivity; import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.TabHost; public class Test_TabWidget extends TabActivity { /** Called when the activity is first created. */ private TabHost tabHost; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.main); tabHost = this.getTabHost(); LayoutInflater li = LayoutInflater.from(this); li.inflate(R.layout.main, tabHost.getTabContentView(), true); tabHost.addTab(tabHost.newTabSpec("Tab_1").setContent(R.id.tab1) .setIndicator("TAB1", this.getResources().getDrawable(R.drawable.img1))); tabHost.addTab(tabHost.newTabSpec("Tab_2").setContent(R.id.tab2) .setIndicator("TAB2", this.getResources().getDrawable(R.drawable.img2))); tabHost.addTab(tabHost.newTabSpec("Tab_3").setContent(R.id.tab3) .setIndicator("TAB3", this.getResources().getDrawable(R.drawable.img3))); tabHost.setCurrentTab(1); // tabHost.setBackgroundColor(Color.GRAY); tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { public void onTabChanged(String tabId) { Dialog dialog = new AlertDialog.Builder(Test_TabWidget.this) .setTitle("提示").setMessage( "选中了" + tabId + "选项卡").setIcon(R.drawable.icon).setPositiveButton("确定", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }).create(); dialog.show(); } }); } }
第二种:就是定义我们自己的tabHost:不用继承TabActivity,具体代码如下:
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/TabHost01" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent"> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/LinearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="one" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> </LinearLayout> <LinearLayout android:id="@+id/LinearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:text="two" android:id="@+id/TextView02" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> </LinearLayout> <LinearLayout android:id="@+id/LinearLayout3" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:text="three" android:id="@+id/TextView03" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost>
package com.Aina.Android; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.widget.TabHost; public class Test_TabHost extends Activity { /** Called when the activity is first created. */ private TabHost tabHost; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try{ tabHost = (TabHost) this.findViewById(R.id.TabHost01); tabHost.setup(); tabHost.addTab(tabHost.newTabSpec("tab_1") .setContent(R.id.LinearLayout1) .setIndicator("TAB1",this.getResources().getDrawable(R.drawable.img1))); tabHost.addTab(tabHost.newTabSpec("tab_2") .setContent(R.id.LinearLayout2).setIndicator("TAB2", this.getResources().getDrawable(R.drawable.img2))); tabHost.addTab(tabHost.newTabSpec("tab_3") .setContent(R.id.LinearLayout3).setIndicator("TAB3", this.getResources().getDrawable(R.drawable.img3))); tabHost.setCurrentTab(1); }catch(Exception ex){ ex.printStackTrace(); Log.d("EXCEPTION", ex.getMessage()); } } }
注意:第二种方法时布局文件中的TabWidget的id必须定义为:android:id="@android:id/tabs",FrameLayout的id必须定义为:android:id="@android:id/tabcontent" 其它控件没有限制,否则报错。
【Android进阶】嵌套TabHost (TabHost中放TabHost,类似二级目录、二级树)
http://blog.csdn.net/feng88724/archive/2011/02/23/6203358.aspx
发表评论
-
http://www.android-studio.org/
2018-08-06 09:25 0http://www.android-studio.org/ ... -
SlidingDrawer源码
2012-03-14 10:13 3814我把SlidingDrawer源码提了出来,希望对1.5的朋友 ... -
简单拖动效果(带Cache,需要完善)
2011-10-13 15:10 4235如何去实现一个具有幻象的拖拽效果? 所谓”幻象“就是当你按下去 ... -
Android Activity中启动另一应用程序的方法,无需得到类名
2011-08-02 14:46 17276在网上搜索了一会相关的实现代码,发现所有的文章都说是需要包名和 ... -
java-universal-tween-engine,一个动画系统库
2011-06-29 09:21 6751http://code.google.com/p/java-u ... -
网上发现的一个android UI包
2011-05-24 12:21 4137里面有些UI和效果 -
android中使用代码启动其他程序
2011-04-29 23:15 5318你要訪問其他的程序,那麼這個程序要先裝載到模擬器或真機上面,因 ... -
listView背景问题以及限制editText字数以及如果想通知别人已经不能在写
2011-04-29 22:44 32171.在listView设置好背景之后 你如果点击空白出 你会发 ... -
Android键盘和触摸事件处理
2011-04-29 22:32 7012activity和VIEW都能接收触摸和按键,如果响应事件只需 ... -
Android的绘制文本对象FontMetrics的介绍及绘制文本
2011-04-29 22:29 11504一。Android绘制文本对象FontMetrics介绍 ... -
Android View 拖动&插入
2011-04-29 22:20 3554View 拖动&插入 即: 支持 拖动图标 然后 ... -
使TextView文本可以水平和垂直滚动
2011-04-29 21:59 14441在做一个小的电子书程序,要求电子书具有放大缩小的功能,所以肯定 ... -
ArrayAdapter源码
2011-04-29 12:29 6311看看人家怎么写的。 /* * Copyright (C ... -
Android下获取开机时间
2011-04-02 21:51 6239找了一圈没发现能得到开机启动时间资料,于是乎突发奇想,得到了解 ... -
AutoCompleteTextView连接到数据库
2011-03-30 20:49 4740AutoCompleteTextView可以根据输入 ... -
改变屏幕Brightness(亮度)
2011-03-30 12:48 4610http://www.eoeandroid.com/forum ... -
android 拖拽图片&拖动浮动按钮到处跑
2011-02-24 20:55 31786来自老外: import android.app.Acti ... -
拖动一个控件在另一个控件(layout)上,并固定位置在几个位置显示
2011-02-24 20:51 5903实现效果: 鼠标拖动btn SSS,SSS在水平的layo ... -
Handler与Message类,实现n秒后无操作自动消失功能
2011-02-24 20:45 4652实现功能:某控件不操作10秒后,自动消失。如照相机变焦条出现后 ... -
带删除按钮的ListView
2011-02-24 10:33 6158不用说了,上图先: import java.util.A ...
相关推荐
本篇文章将深入探讨TabHost的两种使用方式:XML布局和编程方式。 一、XML布局方式 1. 创建TabWidget:首先,在布局文件中创建一个TabWidget,它是TabHost中的标签视图。通过`android:id="@android:id/tabs"`来指定...
总结来说,Android的TabHost组件提供了一种方便的方式来组织应用的多个功能模块,用户可以通过标签页轻松切换。在实际开发中,我们可以根据需求自定义标签页的样式、内容和交互,为用户提供更友好的界面体验。需要...
这篇博客“TabHost两种实现方式”探讨了如何在Android应用中使用TabHost来构建多标签视图。下面我们将深入讨论这两种实现方式及其相关知识点。 首先,我们要理解TabHost的基本概念。TabHost是一个容器,它能容纳一...
本篇文章将深入探讨如何自定义TabHost的样式,包括使用Activity对象作为内容和使用View对象作为内容两种方式。 首先,让我们了解TabHost的基本结构。TabHost通常由两部分组成:TabWidget和FrameLayout。TabWidget是...
总结来说,TabHost是Android中构建多选项卡界面的一种方式,虽然现在有更现代的解决方案,但在理解Android历史和一些老项目中,掌握TabHost的使用仍然是必要的。通过TabHost和相关组件,开发者可以轻松地为用户提供...
TabHost通常由两部分组成:TabWidget和FrameLayout。TabWidget是显示选项卡的部分,而FrameLayout则用来展示被选中选项卡的内容。通过TabSpec对象,我们可以设置每个选项卡的标签和关联的Activity或布局。 ```xml ...
总结来说,本文介绍了如何在Android中实现两种特殊的TabHost,包括模仿网易新闻底部导航栏的FragmentTabHost实现以及自定义TabWidget的方法。通过这些知识,开发者可以创造出更具交互性和视觉吸引力的Android应用。
本教程将深入探讨如何实现两层`TabWidget`的使用,即在一个`TabWidget`中嵌套另一个`TabWidget`,以便在子页面上也能够实现流畅的界面切换,提升用户体验。 首先,我们要理解`TabWidget`的基本用法。`TabWidget`是`...
在Android开发中,TabHost和TabWidget是两个关键组件,用于创建具有标签切换功能的界面。TabHost可以理解为一个容器,它包含了多个TabWidget(标签)和一个FrameLayout(内容区域)。TabWidget用于显示各个标签,...
例如,通过`TabHost.setup()`方法初始化TabHost,然后使用`TabHost.newTabSpec()`创建TabSpec,设置标签和Intent,最后调用`TabHost.addTab()`将TabSpec添加到TabHost中。同时,可能还会设置监听器以响应Tab的切换...
2. 初始化TabWidget和FrameLayout:在TabHost中添加TabWidget和FrameLayout,这两个组件是TabHost的基础。 ```java TabHost tabHost = (TabHost) findViewById(R.id.tabhost); tabHost.setup(); TabWidget ...
本文将详细介绍两种不依赖于`TabActivity`实现TabHost的方法,并提供源码供参考。 ### 方法一:不继承`TabActivity` 1. **布局文件**:在XML布局文件中,需要包含一个`TabHost`,一个`TabWidget`用于显示标签,...
下面将详细讲解TabHost的使用方法及其相关知识点。 首先,了解TabHost的基本结构。TabHost包含两个主要部分:TabWidget和FrameLayout。TabWidget用于显示和管理各个标签,而FrameLayout则承载被选中的标签内容。在...
下面将详细介绍TabHost的使用方法,以及如何通过它来构建用户友好的多页面应用。 1. TabHost的基本结构: TabHost主要由两个组件组成:TabWidget和FrameLayout。TabWidget显示各个标签,而FrameLayout用于展示被...
TabHost通常与TabWidget结合使用,为用户提供一种便捷的方式来切换不同的视图。本文将通过实例详细讲解如何在Android应用中使用TabHost。 首先,我们要理解TabHost和TabWidget的关系。TabHost是一个容器,它包含了...
一个TabHost通常包含两个主要部分:TabWidget和FrameLayout。TabWidget是显示选项卡的部分,而FrameLayout用于承载每个选项卡的内容。开发者可以通过设置TabSpec来定义每个选项卡的内容和标签。 1. 创建TabHost: ...
`TabHost`包含两个主要部分:`TabWidget`(显示标签)和`FrameLayout`(显示内容)。`TabHost`的工作原理是,每个标签对应一个`Intent`,当用户点击某个标签时,对应的`Intent`会被启动,显示相应的内容。 首先,...
TabHost通常结合TabWidget和FrameLayout一起使用,TabWidget用于显示和管理各个Tab,而FrameLayout则用来承载每个Tab对应的内容。 二、实现步骤 1. 创建布局资源 首先,我们需要创建一个XML布局文件,包含TabHost...
`TabHost`通常包含两个主要组件:`TabWidget`和`FrameLayout`。`TabWidget`用于显示和管理各个`Tab`,而`FrameLayout`则用来展示当前选中的`Tab`内容。 ### 二、TabHost的使用步骤 1. **初始化TabHost** 首先,在...