- 浏览: 128730 次
- 性别:
- 来自: 南京
最新评论
-
cenyi2012:
来个图文并茂不是更好。。。
TabHost两种实现方式 -
youlingxifeng:
谢谢了,很受用,你有没有遇到过这样的问题啊build/core ...
Android源码编译全过程 -
flower_is:
不错不错!
Android的selector,背景选择器 -
yang668:
很好 真心的谢谢
反编译apk -
windloverain:
编译2.3的代码需要用1.6的sdk
另外,安装完java s ...
Android源码编译全过程
第一种:继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。只要定义具体Tab内容布局就行了.
xml布局:
第二种:不用继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是
@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。TabHost的id可以自定义.
xml布局:
xml布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/widget_layout_Blue" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/widget34" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="EditText" android:textSize="18sp"> </EditText> <Button android:id="@+id/widget30" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button"> </Button> </LinearLayout> <LinearLayout android:id="@+id/widget_layout_red" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <AnalogClock android:id="@+id/widget36" android:layout_width="wrap_content" android:layout_height="wrap_content"> </AnalogClock> </LinearLayout> <LinearLayout android:id="@+id/widget_layout_green" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <RadioGroup android:id="@+id/widget43" android:layout_width="166px" android:layout_height="98px" android:orientation="vertical"> <RadioButton android:id="@+id/widget44" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton"> </RadioButton> <RadioButton android:id="@+id/widget45" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton"> </RadioButton> </RadioGroup> </LinearLayout> </FrameLayout> java代码: super.onCreate(savedInstanceState); myTabhost=this.getTabHost(); //get Tabhost LayoutInflater.from(this).inflate(R.layout.main, myTabhost.getTabContentView(), true); myTabhost.setBackgroundColor(Color.argb(150, 22, 70, 150)); myTabhost .addTab(myTabhost.newTabSpec("One")// make a new Tab .setIndicator("A") // set the Title and Icon .setContent(R.id.widget_layout_Blue)); // set the layout myTabhost .addTab(myTabhost.newTabSpec("Two")// make a new Tab .setIndicator("B", getResources().getDrawable(R.drawable.mumule)) // set the Title and Icon .setContent(R.id.widget_layout_green)); // set the layout myTabhost .addTab(myTabhost.newTabSpec("Three")// make a new Tab .setIndicator("C", getResources().getDrawable(R.drawable.notepad)) // set the Title and Icon .setContent(R.id.widget_layout_red));
第二种:不用继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是
@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。TabHost的id可以自定义.
xml布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/hometabs" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TabHost android:id="@+id/tabhost" android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TabWidget android:id="@android:id/tabs" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/view1" android:layout_width="fill_parent" android:layout_height="fill_parent"/> <TextView android:id="@+id/view2" android:layout_width="fill_parent" android:layout_height="fill_parent"/> <TextView android:id="@+id/view3" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </FrameLayout> </LinearLayout> </TabHost> </LinearLayout> java代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.hometabs); TabHost tabHost = (TabHost) findViewById(R.id.tabhost); tabHost.setup(); TabWidget tabWidget = tabHost.getTabWidget(); tabHost.addTab(tabHost.newTabSpec("tab1") .setIndicator("tab1", getResources().getDrawable(R.drawable.mumule)) .setContent(R.id.view1)); tabHost.addTab(tabHost.newTabSpec("tab3") .setIndicator("tab3") .setContent(R.id.view3)); tabHost.addTab(tabHost.newTabSpec("tab2") .setIndicator("tab2") .setContent(R.id.view2)); final int tabs = tabWidget.getChildCount(); Log.i(TAG, "***tabWidget.getChildCount() : " + tabs); final int tabWidth = 90; final int tabHeight = 45; for (int i = 0; i < tabs; i++) { /* final View view = tabWidget.getChildAt(i); view.getLayoutParams().width = tabWidth; view.getLayoutParams().height = tabHeight; final TextView tv = (TextView) view.findViewById(android.R.id.title); tv.setTextColor(this.getResources().getColorStateList(android.R.color.black)); MarginLayoutParams tvMLP = (MarginLayoutParams)tv.getLayoutParams(); tvMLP.bottomMargin = 8;*/ } }
- Tab.rar (130.9 KB)
- 下载次数: 1250
发表评论
-
system挂载为rw
2011-07-28 15:07 2826adb shell #su #mount -o remou ... -
制作TextView的倒影
2011-07-19 13:52 2071package com.javaeye.graphics; ... -
Androkd开发坏境配置以及常用插件
2011-06-21 10:39 1124步骤: 1、安装jdk,并配置环境变量 2、解压android ... -
Android的selector,背景选择器
2011-05-22 11:50 1742首先android的selector是在drawable/xx ... -
PUSH机制
2011-04-20 13:54 13151、长连接 2、Android and XMPP htt ... -
ListView快速滑动搜索
2011-04-14 10:16 1272相关资料: Android-ListView快速滚动示例增加首 ... -
Android源码编译全过程
2011-03-18 09:39 83221, ubuntu 下源码编译 最好切换到root用户下进行操 ... -
测试环境Hosts设置
2011-02-25 18:25 1812设置方法: //启动虚拟手机并更改分区大小为128M emul ... -
Activity的launchMode
2011-01-16 17:02 863请看博客:http://marshal.easymorse.c ... -
android多分辨力支持 密度与分辨力
2010-12-29 15:37 1240关于Android的分辨率支持,为大家翻译官方文档 看世界杯的 ... -
用shape美化控件
2010-12-29 10:34 929如果你对Android系统自带的UI控件感觉不够满意, ... -
Android知识积累
2010-12-28 13:44 1009引用系统资源: android:textColor=& ... -
自定义对话框Dialog
2010-12-16 16:55 1528提醒对话框: 布局文件:alertdialog.xml < ... -
Dialog
2010-12-16 14:45 10961. 创建对话框 1. Showing ... -
Android 文件系统的结构
2010-11-06 22:56 10431、Android 文件系统的结构 Android源码编译后 ... -
DB和File工具类
2010-11-01 15:46 1546DB工具类: import java.io.B ... -
打造自己的动画效果
2010-10-29 14:25 1015当我们的软件基本功能都实现了之后,我们是不是还可以把它做的更好 ... -
画图,Shader Path
2010-10-28 16:42 1272package com.javaeye.android.my; ... -
Google API应用
2010-10-27 16:21 1626获取Location Provider: android lo ... -
使用SoundPool播放游戏音效
2010-10-12 15:51 1785在Android开发中我们经常使用MediaPlayer来播放 ...
相关推荐
- 在Android 3.0及以上版本,Action Bar提供了一种新的Tab实现方式。虽然现在推荐使用ViewPager配合TabLayout,但了解Action Bar的Tab模式可以帮助理解TabHost的历史演变。 7. **使用第三方库**: - 如`androidx....
在Android开发中,TabHost是一个重要的组件,用于创建带有可切换标签的用户界面。它允许开发者将多个小部件或活动组织成不同的标签页,提供了一种直观的...在实际开发中,开发者可以根据项目需求选择合适的实现方式。
在Android开发中,TabHost和ViewPager是两种常用的组件,它们可以结合起来创建出具有滑动切换效果的界面。本文将深入探讨如何使用TabHost与ViewPager来实现这一功能,并提供相关的源码解析。 首先,TabHost是...
本篇文章将详细讲解如何实现两种特殊的TabHost,一种是模仿网易新闻应用底部导航栏的实现方式。 首先,我们来了解基本的TabHost用法。TabHost通常由两个主要部分组成:TabWidget(选项卡)和FrameLayout(内容区域...
在Android开发中,TabHost和ViewPager是两种常用的组件,它们可以用来构建用户界面,提供丰富的交互体验。TabHost常用于创建具有多个标签页的应用,而ViewPager则用于实现页面的滑动切换,两者结合能实现一个功能...
在Android开发中,TabHost是一个非常重要的组件,用于创建具有...总的来说,TabHost是Android早期实现多页面导航的一种方式,虽然现在有更多先进的解决方案,但它依然是理解Android UI设计和分页机制的一个重要知识点。
本教程将探讨两种不同的实现方法:使用`Fragment`和`TabHost`。这两种技术都是Android SDK提供的,用于构建复杂的用户界面,尤其是处理多个可切换的内容区域。 ### 1. Fragment 实现 `Fragment`是Android 3.0(API...
在Android开发中,...同时,随着Android版本的更新,谷歌推出了新的底部导航实现方式,如BottomNavigationView,虽然TabHost在现代Android开发中使用较少,但在一些旧项目或简单应用中,它仍然是一个实用的选择。
`TabHost` 是Android SDK提供的一种容器,它可以容纳多个`TabWidget`(标签)和一个`FrameLayout`(内容区域)。每个`Tab`对应一个独立的`Activity`或者`Fragment`,点击不同的`Tab`时,显示相应的内容。在`TabHost`...
在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个选项卡的用户界面,每个选项卡都可以承载不同的活动(Activity)或者...要确保良好的用户体验,开发者应当根据项目需求选择最合适的选项卡实现方式。
`TabHost`是Android SDK提供的一种用于创建带有标签页的UI组件,它允许用户在不同的内容之间进行切换。`TabHost`包含两个主要部分:`TabWidget`(显示标签)和`FrameLayout`(显示内容)。`TabHost`的工作原理是,每...
在Android开发中,TabHost是实现底部导航菜单的一种传统方式,它允许用户在多个标签页之间切换,每个标签页通常代表一个不同的功能区域。本文将详细介绍如何使用TabHost来创建带有图片和文字,并且在选中时有明显...
在实际开发中,选择哪种实现方式取决于项目需求和个人偏好。不继承`TabActivity`的方式更加灵活,可以避免不必要的Activity层级,而继承`TabActivity`则更简洁,适合快速搭建多标签页面。 由于篇幅原因,以上内容仅...
本示例是关于如何在Android中实现嵌套的TabHost,即两个层级的TabHost,类似于网页中的二级菜单栏,这种设计可以提供更丰富的用户交互体验。 首先,我们要理解TabHost的基本概念。TabHost是一个容器,它可以包含一...
TabHost包含两个主要部分:TabWidget和FrameLayout。TabWidget负责显示选项卡,而FrameLayout(通常称为"content"或"id/tabcontent")则用于展示与每个选项卡关联的内容。每个选项卡可以关联一个单独的Activity或者...
在Android开发中,TabHost和TabWidget是两个关键组件,用于创建具有标签切换功能的界面。TabHost可以理解为一个容器,它包含了多个TabWidget(标签)和一个FrameLayout(内容区域)。TabWidget用于显示各个标签,...
在Android开发中,TabHost和ViewPager是两种常用的组件,它们分别用于实现标签栏和页面滑动效果。将两者结合可以创建出一个具有可滑动标签的动态应用界面,这种设计在许多应用程序中都非常常见,如社交应用、新闻...
`TabHost`是Android SDK提供的一种原生组件,用于实现这种多标签页的布局。本篇文章将深入探讨如何利用`TabHost`在Android中创建标签页。 ### 一、TabHost基本概念 `TabHost`是Android中的一个容器类,它允许...