- 浏览: 2197195 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1240)
- mac/IOS (287)
- flutter (1)
- J2EE (115)
- android基础知识 (582)
- android中级知识 (55)
- android组件(Widget)开发 (18)
- android 错误 (21)
- javascript (18)
- linux (70)
- 树莓派 (18)
- gwt/gxt (1)
- 工具(IDE)/包(jar) (18)
- web前端 (17)
- java 算法 (8)
- 其它 (5)
- chrome (7)
- 数据库 (8)
- 经济/金融 (0)
- english (2)
- HTML5 (7)
- 网络安全 (14)
- 设计欣赏/设计窗 (8)
- 汇编/C (8)
- 工具类 (4)
- 游戏 (5)
- 开发频道 (5)
- Android OpenGL (1)
- 科学 (4)
- 运维 (0)
- 好东西 (6)
- 美食 (1)
最新评论
-
liangzai_cool:
请教一下,文中,shell、C、Python三种方式控制led ...
树莓派 - MAX7219 -
jiazimo:
...
Kafka源码分析-序列5 -Producer -RecordAccumulator队列分析 -
hp321:
Windows该命令是不是需要安装什么软件才可以?我试过不行( ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
hp321:
Chenzh_758 写道其实直接用一下代码就可以解决了:JP ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
huanghonhpeng:
大哥你真强什么都会,研究研究。。。。小弟在这里学到了很多知识。 ...
android 浏览器
TabWidget类似于Android 中查看电话薄的界面,通过多个标签切换显示不同内容。要实现这一效果,首先要了解TabHost,它是一个用来存放多个Tab标签的容器。每一个Tab都可以对应自己的布局,比如,电话薄中的Tab布局就是一个List的线性布局了。
要使用TabHost,首先需要通过getTabHost方法来获取TabHost的对象,然后通过addTab方法来向TabHost中添加 Tab。当然每个Tab在切换时都会产生一个事件,要捕捉这个事件需要设置TabActivity的事件监听 setOnTabChangedListener。我们先来看看运行效果吧。
main.xml布局文件:
IaiaiActivity.java类:
要使用TabHost,首先需要通过getTabHost方法来获取TabHost的对象,然后通过addTab方法来向TabHost中添加 Tab。当然每个Tab在切换时都会产生一个事件,要捕捉这个事件需要设置TabActivity的事件监听 setOnTabChangedListener。我们先来看看运行效果吧。
main.xml布局文件:
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout 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" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textview1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="Linux" android:textColor="#FF0000" /> <TextView android:id="@+id/textview2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="#385E0F" android:text="MAC" /> <TextView android:id="@+id/textview3" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="#1E90FF" android:text="Window" /> </FrameLayout> </LinearLayout> </TabHost>
IaiaiActivity.java类:
package com.iaiai.activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.TabActivity; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.widget.TabHost; import android.widget.TabHost.OnTabChangeListener; /** * * <p> * Title: IaiaiActivity.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-6-26 * </p> * * @author 丸子 * @version 0.0.1 */ public class IaiaiActivity extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 取得TabHost对象 TabHost xh_TabHost = getTabHost(); /** * 为TabHost添加标签 新建一个newTabSped(newTabSpec) 设置其标签和图标(setIndicator) * 设置内容(setContent) */ // TabSpec 是TabHost的内部类 TabHost对象的 newTabSpec()方法返回一个TabSpec对象 这个关系要搞清楚 /* * 源码里边是这么写的 public TabSpec newTabSpec(String tag) { return new * TabSpec(tag); } */ xh_TabHost.addTab(xh_TabHost .newTabSpec("tab_test1") // setIndicator()此方法用来设置标签和图表 .setIndicator("TAB 1", getResources().getDrawable(R.drawable.img1)) // 指定内容为一个TextView --->public TabHost.TabSpec setContent (int // viewId) 此方法需要一个 viewId 作为参数 .setContent(R.id.textview1)); xh_TabHost.addTab(xh_TabHost .newTabSpec("tab_test2") .setIndicator("TAB 2", getResources().getDrawable(R.drawable.img2)) .setContent(R.id.textview2)); xh_TabHost.addTab(xh_TabHost .newTabSpec("tab_test3") .setIndicator("TAB 3", getResources().getDrawable(R.drawable.img3)) .setContent(R.id.textview3)); // 设置TabHost的背景颜色 xh_TabHost.setBackgroundColor(Color.argb(150, 22, 70, 150)); // 设置TabHost的背景图片资源 xh_TabHost.setBackgroundResource(R.drawable.bg2); // 设置当前显示哪一个标签 我的理解就是当你第一次启动程序默认显示那个标签 这里是指定的选项卡的ID从0开始 xh_TabHost.setCurrentTab(0); // 标签切换事件处理,setOnTabChangedListener 注意是标签切换事件不是点击事件 // 就是从一个标签切换到另外一个标签会触发的事件 xh_TabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { // 定义一个弹出式的对话框 Dialog dialog = new AlertDialog.Builder(IaiaiActivity.this) .setTitle("提示") .setMessage("当前选中了:" + tabId + "标签") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 取消对话框 dialog.cancel(); } }).create();// 创建出一个“确定”按钮 // 启动此对话框并且显示在屏幕上 dialog.show(); } }); } }
发表评论
-
带你深入理解 FLUTTER 中的字体“冷”知识
2020-08-10 23:40 627本篇将带你深入理解 Flutter 开发过程中关于字体和文 ... -
Flutter -自定义日历组件
2020-03-01 17:56 1102颜色文件和屏幕适配的文件 可以自己给定 import ... -
Dart高级(一)——泛型与Json To Bean
2020-02-23 19:13 993从 Flutter 发布到现在, 越来越多人开始尝试使用 Da ... -
flutter loading、Progress进度条
2020-02-21 17:03 1168Flutter Progress 1 条形无固定值进度条 ... -
Flutter使用Https加载图片
2020-02-21 01:39 1005Flutter使用Https加载图片 使用http加载图片出 ... -
flutter shared_preferences 异步变同步
2020-02-21 00:55 839前言 引用 在开发原生iOS或Native应用时,一般有判断上 ... -
Flutter TextField边框颜色
2020-02-19 21:31 929监听要销毁 myController.dispose(); T ... -
flutter Future的正确用法
2020-02-18 21:55 800在flutter中经常会用到异步任务,dart中异步任务异步处 ... -
记一次Flutter简单粗暴处理HTTPS证书检验方法
2020-02-18 14:13 949最近在做Flutter项目到了遇到一个无解的事情,当使用Ima ... -
flutter 获取屏幕宽度高度 通知栏高度等屏幕信息
2019-07-27 08:39 1327##MediaQuery MediaQuery.of(con ... -
关于flutter RefreshIndicator扩展listview下拉刷新的问题
2019-07-10 19:40 1115当条目过少时listview某些嵌套情况下可能不会滚动(条目 ... -
flutter listview 改变状态的时候一直无限添加
2019-07-10 16:01 778setstate的时候会一直无限的调用listview.bui ... -
Flutter Android端启动白屏问题的解决
2019-07-09 00:51 1507问题描述 Flutter 应用在 Android 端上启动时 ... -
Flutter中SnackBar使用
2019-07-08 23:43 767底部弹出,然后在指定时间后消失。 注意: build(Bui ... -
Flutter 之点击空白区域收起键盘
2019-07-08 18:43 1782点击空白处取消TextField焦点这个需求是非常简单的,在学 ... -
Flutter 弹窗 Dialog ,AlertDialog,IOS风格
2019-07-08 18:04 1370import 'package:flutter/mate ... -
flutter ---TextField 之 输入类型、长度限制
2019-07-08 14:30 2314TextField想要实现输入类型、长度限制需要先引入impo ... -
【flutter 溢出BUG】键盘上显示bottom overflowed by 104 PIXELS
2019-07-08 11:13 1550一开始直接使用Scaffold布局,body:new Colu ... -
解决Flutter项目卡在Initializing gradle...界面的问题
2019-07-07 12:53 865Flutter最近很火,我抽出了一点时间对Flutter进行了 ... -
关于android O 上 NotificationChannel 的一些注意事项
2019-07-04 11:47 932最近在适配android O,遇到个问题,应用中原本有设置界面 ...
相关推荐
这个"Android应用源码之36.TabWidget控件学习.zip"压缩包提供了关于TabWidget的源码示例,非常适合开发者进行参考和学习。 TabWidget是Android自带的一种布局组件,它通常与TabHost一起使用,实现类似浏览器那样的...
`TabHost`作为容器,管理着`TabWidget`和一个`FrameLayout`,而`TabWidget`则是展示选项卡的控件。 1. **TabHost的使用** - `TabHost`是`FrameLayout`的特殊形式,它包含两个子元素:`TabWidget`和`FrameLayout`。...
本资源“Android应用源码之36.TabWidget控件学习”是一个适用于毕业设计的学习示例,旨在帮助开发者深入理解TabWidget的用法及其在实际项目中的应用。 TabWidget是Android提供的一个标签栏控件,它通常与ViewPager...
TabWidget控件是Android开发中常见的一种组件,主要用于在用户界面上创建标签式视图,让用户可以在多个页面间轻松切换,常用于应用的各种设置界面或者数据分类展示。它结合了TabHost和ViewSwitcher的概念,提供了...
总之,这份"应用源码之36.TabWidget控件学习"资料提供了深入理解Android TabWidget的实践机会。通过学习和研究源码,开发者可以更熟练地运用这个组件,提升自己的Android开发水平,同时也能为毕业设计提供有价值的...
在Android移动开发中,`TabWidget` 是一个非常常见的组件,用于实现多页面间的切换,通常与`ViewPager` 结合使用来创建一个可滑动的标签页布局。本总结将深入探讨`TabWidget`的基本使用、自定义以及与`ViewPager`的...
2. **TabWidget**:TabWidget是显示选项卡的实际控件,每个选项卡代表一个可以切换的页面。开发者可以通过TabHost的setup()方法将TabWidget与FrameLayout关联起来。 3. **添加选项卡**:开发者需要使用TabHost的...
总的来说,Android的TabHost和TabWidget提供了一种方便的方式,让用户能够在一个屏幕上轻松地在多个视图之间切换,增加了应用程序的交互性和用户体验。然而,随着Android版本的发展,TabHost的使用逐渐被Fragment和...
总的来说,Android控件的学习是Android开发的基础,熟练掌握TabWidget、ListView和ImageView的使用,将有助于你创建出功能强大且用户友好的应用程序。在实践中不断探索和实践,你将能够更好地应对各种UI需求,为用户...
在Android开发中,TabWidget控件是一个非常常用且重要的组件,尤其在构建具有多个视图切换功能的用户界面时。`TabWidget`是Android提供的一个Tab栏布局,它允许用户通过点击不同的Tab来切换不同的页面或者视图。在这...
在Android开发中,Tab布局和TabHost是创建多页面、多视图应用界面的重要组件,它们可以帮助用户在不同的功能之间轻松切换。本文将详细介绍Tab和TabHost的使用方法,并通过一个实际的源码实例来加深理解。 首先,Tab...
在Android开发中,TabHost控件是一个非常重要的组件,它被用来实现标签页式界面,让用户可以在多个视图之间切换,提升应用的交互体验。TabHost通常与TabWidget和FrameLayout一起使用,创建一个带有可点击标签的界面...
ViewPager是Android支持库中的一个控件,它允许用户通过水平滑动来浏览多个页面。ViewPager通常与PagerAdapter一起使用,PagerAdapter是适配器类,负责为ViewPager提供页面内容。当用户在ViewPager中滑动时,...
在Android开发中,`TabHost`是一个非常重要的组件,它被用来实现标签栏导航功能,让用户可以在多个界面之间轻松切换。本篇文章将详细介绍`TabHost`的使用方法,并通过示例代码来帮助你理解其工作原理。 ### 1. ...
在Android开发中,Tab控件通常用于创建多页面的用户界面,使得用户可以在不同的功能或内容之间轻松切换。本文将详细介绍如何在Android应用中使用Tab控件,特别适合初学者入门。 首先,我们需要理解TabHost和...
要实现选项卡功能,Android提供了`TabHost`和`TabWidget`组件,但现在更推荐使用`ViewPager`配合`TabLayout`。`ViewPager`用于滑动切换页面,而`TabLayout`则负责显示选项卡。首先,确保在项目中添加`design`库依赖...
本文将深入探讨如何自定义Android的TabHost控件样式。 首先,我们从基础开始。TabHost是Android提供的一个布局容器,它包含一个TabWidget(显示各个Tab)和一个FrameLayout(用于显示被选中的Tab的内容)。默认的...
在Android开发中,Tab控件通常用于实现应用的多页面切换功能,为用户提供直观的导航。本Demo旨在展示如何在Android应用中实现一个简洁且纯粹的Tab切换效果。以下是关于这个"android Tab控件使用的最简纯净Demo"的...