- 浏览: 1321288 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (132)
- android Launcher (15)
- 收藏夹 (3)
- UI设计 (28)
- J2EE (2)
- android网络编程 (8)
- 项目经理是熬出来的 (8)
- Android图像处理 (5)
- 系统层开发 (12)
- 数据库 (2)
- 程序员是熬出来的 (2)
- Android技巧 (11)
- 地图相关 (2)
- Android底层 (9)
- Android疑难杂症 (4)
- 开发工具 (4)
- 知识梳理 (8)
- 源码阅读 (7)
- Media媒体库 (5)
- 调试技术 (3)
- Android蓝牙 (3)
- 动画特效 (5)
- jni (3)
- 串口通信 (1)
- Android优化 (3)
- 架构设计 (1)
- Android Test (1)
- 翻译系列 (0)
最新评论
-
我说123木头人雪雪:
...
Android截屏并对图片做高斯模糊处理 -
ysc123shift:
没有源码。
Android截屏并对图片做高斯模糊处理 -
我de专属doll:
你那个Jni库是自己编译的还是有现成的呢?
Android media媒体库分析之:分类别统计媒体文件大小 -
zhunanfengfeimeng:
想做项目经理?这些工具必须了解 -
ls0609:
一个带人脸识别的智能照相机demohttp://blog.cs ...
Android 调用相机,获取的图片太小
TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout。TabWidget就是每个tab的标签,FrameLayout则是tab内容。
1、如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost
2、TabWidget必须设置android:id为@android:id/tabs
3、FrameLayout需要设置android:id为@android:id/tabcontent
4、参考这儿:http://blog.csdn.net/flowingflying/archive/2011/04/06/6304289.aspx
先自定义一个xml文件:
为了让tabHost显示在下方,要将RadioGroup的layout_gravity设置为bottom,再将FrameLayout的layout_weight设置为1,这样就可以将RadioGroup撑到最下方。style="@style/main_tab_bottom"里面定义了样式文件。
接下来就是在activity中初始化并添加tabhost:
初始化每个RadioButton并为其添加setOnCheckedChangeListener事件,当点击相应的RadioButton时就可以通过setCurrentTabByTag()方法显示到当前页面。
小结:
1、在一个tabActivity里面嵌套一个tabAcitivity, 如果在子tabActivity里面显示AlertDialog、ProgressDialog的话,就会引发此错误:android.view.WindowManager$BadTokenException: Unable to add window
解决方法:
可以把创建dialog时传递的参数xxx.this改成this.getParent(),其中的xxx为Activity
你好!代码是我程序里面截取的,我程序里面是这么做的!你可以试试!
1、如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost
2、TabWidget必须设置android:id为@android:id/tabs
3、FrameLayout需要设置android:id为@android:id/tabcontent
4、参考这儿:http://blog.csdn.net/flowingflying/archive/2011/04/06/6304289.aspx
先自定义一个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"> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:paddingBottom="53px"/> <TabWidget android:id="@android:id/tabs" android:layout_alignParentBottom="true" android:layout_width="fill_parent" android:layout_height="50px" android:visibility="gone" android:layout_weight="0.0"/> <RadioGroup android:gravity="center_vertical" android:orientation="horizontal" android:id="@+id/main_radio" android:background="@drawable/radiogroup_background" android:layout_width="fill_parent" android:layout_height="50dip" android:layout_gravity="bottom"> <RadioButton android:id="@+id/main_index_button" android:layout_marginTop="1.0dip" android:layout_marginRight="5dip" android:text="@string/main_name" android:drawableTop="@drawable/unistall" style="@style/main_tab_bottom" android:background="@drawable/radio_bg"/> <RadioButton android:id="@+id/main_running_button" android:layout_marginTop="1.0dip" android:layout_marginRight="5dip" android:text="@string/run_manager_name" android:drawableTop="@drawable/unistall" style="@style/main_tab_bottom" android:background="@drawable/radio_bg"/> <RadioButton android:id="@+id/main_uninstall_button" android:layout_marginTop="1.0dip" android:text="@string/uninstall_manager_name" android:drawableTop="@drawable/unistall" style="@style/main_tab_bottom" android:background="@drawable/radio_bg"/> </RadioGroup> </LinearLayout> </TabHost>
为了让tabHost显示在下方,要将RadioGroup的layout_gravity设置为bottom,再将FrameLayout的layout_weight设置为1,这样就可以将RadioGroup撑到最下方。style="@style/main_tab_bottom"里面定义了样式文件。
接下来就是在activity中初始化并添加tabhost:
tabHost = (TabHost) findViewById(android.R.id.tabhost); tabHost.addTab(Constant.tabHost.newTabSpec("Main") .setIndicator(getString(R.string.main_name),null) .setContent(new Intent(this, Main.class))); tabHost.addTab(Constant.tabHost.newTabSpec("RunManager") .setIndicator(getString(R.string.run_manager_name),null) .setContent(new Intent(this, RunManager.class))); tabHost.addTab(Constant.tabHost.newTabSpec("UninstallManager") .setIndicator(getString(R.string.uninstall_manager_name),null) .setContent(new Intent(this, UninstallManager.class)));
初始化每个RadioButton并为其添加setOnCheckedChangeListener事件,当点击相应的RadioButton时就可以通过setCurrentTabByTag()方法显示到当前页面。
private void initRadios() { ((RadioButton) findViewById(R.id.main_index_button)) .setOnCheckedChangeListener(this); ((RadioButton) findViewById(R.id.main_running_button)) .setOnCheckedChangeListener(this); ((RadioButton) findViewById(R.id.main_uninstall_button)) .setOnCheckedChangeListener(this); } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ switch (buttonView.getId()) { case R.id.main_index_button: tabHost.setCurrentTabByTag("Main"); break; case R.id.main_running_button: tabHost.setCurrentTabByTag("RunManager"); break; case R.id.main_uninstall_button: tabHost.setCurrentTabByTag("UninstallManager"); break; } } }
小结:
1、在一个tabActivity里面嵌套一个tabAcitivity, 如果在子tabActivity里面显示AlertDialog、ProgressDialog的话,就会引发此错误:android.view.WindowManager$BadTokenException: Unable to add window
解决方法:
可以把创建dialog时传递的参数xxx.this改成this.getParent(),其中的xxx为Activity
评论
4 楼
zhangbd_Answer
2012-11-13
楼主,为了让tabHost显示在下方,好像不需要把layout_gravity设置为bottom,只需要FrameLayout的layout_weight设置为1即可,我试过的
3 楼
jw72jw
2012-08-13
楼主应该上截图
2 楼
gqdy365
2012-04-10
paolongtao 写道
为了让tabHost显示在下方,要将RadioGroup的layout_gravity设置为bottom,再将FrameLayout的layout_weight设置为1,这样就可以将RadioGroup撑到最下方。style="@style/main_tab_bottom"里面定义了样式文件。
你设置给我看看,到底是没试过啊?帅哥
你设置给我看看,到底是没试过啊?帅哥
你好!代码是我程序里面截取的,我程序里面是这么做的!你可以试试!
1 楼
paolongtao
2012-03-27
为了让tabHost显示在下方,要将RadioGroup的layout_gravity设置为bottom,再将FrameLayout的layout_weight设置为1,这样就可以将RadioGroup撑到最下方。style="@style/main_tab_bottom"里面定义了样式文件。
你设置给我看看,到底是没试过啊?帅哥
你设置给我看看,到底是没试过啊?帅哥
发表评论
-
Android多Activity通用Title
2015-05-20 10:12 6830先看一下效果图: 要实现在每个页面显示相同的Title, ... -
Android textview实现局部点击
2015-04-20 18:18 4651先看效果图: 实现代码,很简单的: private ... -
Android中单击空白区域隐藏键盘
2015-03-06 11:29 4749项目开发中,产品经理拿着iPhone上的效果说Android! ... -
Android ViewPager切换的N种动画
2014-09-10 17:55 49890基于上一篇《Android ViewP ... -
Android ViewPager使用技巧
2014-09-10 17:23 10753最近项目中用到ViewPage,因此对这个3.1之后新增的接口 ... -
知识梳理:Android子线程中更新UI的3种方法
2014-09-03 16:09 76465在Android项目中经常有碰到这样的问题,在子线程中完成耗时 ... -
Android ListView 滚动的N种方法
2014-07-25 16:07 8377Android 里面让ListView滚动有N种方法,这儿列举 ... -
(转载)关于分辨率,还是没搞清楚
2014-07-22 15:41 8701.drawable-(hdpi,mdpi,ldpi)的区别 ... -
Android多分辨率支持
2014-01-10 11:45 0Android官方给出的解决方案: http://develo ... -
Android播放动画后点击事件消失
2012-11-09 10:36 7254问题:为imageview添加了动画,动画播放完之后image ... -
为Android应用程序添加两个入口
2012-10-29 09:43 1743项目中有这样一个需求: 安装一个APK之后,生成两个图标,点击 ... -
Android 获取屏幕尺寸
2012-06-28 10:28 1905项目需要在service中获取屏幕分辨率,即手机的尺寸,网上搜 ... -
Android dialog 全屏
2012-02-11 17:08 19278Android中让Dialog全屏: 一、在style中定义样 ... -
android 让Activity透明起来
2011-08-26 21:55 3485让自己的Activity变成透明的:关键是设置Activity ... -
android图片缩放(指定大小)
2011-07-15 10:58 19264private Drawable zoomDrawabl ... -
用ScrollView和TableLayout实现类似于Gallery的效果
2014-07-15 09:45 3632想实现左右拖动ImageView或TextView的效果,于是 ... -
android自定义ViewGroup总结
2014-07-15 09:45 6902在稍微复杂一些的布局中就要自己定义一个ViewGroup,里面 ... -
android 屏幕密度和资源的关系
2014-07-15 09:46 1318一、概念介绍: 1、density值表示每英寸有多少个显示点, ... -
android通知小结
2011-06-17 10:22 3110有时候要让我们发的通知不被用户清除,这就需要将通知加入正在运行 ... -
android小部件(widget)小结
2011-06-17 10:21 7339一、为widget添加点击事件 在继承自AppWidgetPr ...
相关推荐
#### 五、小结 通过继承 `TabActivity` 并结合 XML 和 Java 代码的方式,我们可以灵活地创建功能强大的标签式导航界面。这种方法不仅简化了 XML 文件,还提高了代码的可读性和维护性。希望本文能帮助你在Android...
7. 小结: TabHost是Android早期版本中实现标签页切换的主要方式。随着Android SDK的更新,现在更多地使用ViewPager配合FragmentTabHost或BottomNavigationView来构建多页应用。尽管如此,理解TabHost的工作原理对于...
- **课堂小结**:强调理解和掌握TabHost布局的特性,以及资源的引用方法,重点在于实际应用中TabHost布局的设计,难点在于理解和使用相关的API以及编程规范。 通过以上内容的学习,学生不仅能理解TabHost在智能...
1.5小结 第2章搭建你的开发环境 2.1配置前的准备工作 2.1.1 Android支持的操作系统 2.1.2准备“四大法宝” 2.2安装并配置JDK 2.2.1 安装JDK 2.2.2配置JDK 2.3安装并配置Eclipse 2.3.1 运行Eclipse 2.3.2 了解Eclipse...
1.7 本章小结 33 第2章 Android应用的界面编程 35 2.1 界面编程与视图(View)组件 36 2.1.1 视图组件与容器组件 36 2.1.2 使用XML布局文件控制UI 界面 40 2.1.3 在代码中控制UI界面 41 2.1.4 使用...
#### 小结 通过以上步骤,我们可以实现在Android应用中创建具有选项卡效果的界面。这种方法简单直观,适合初学者快速上手。同时,也可以根据需求进一步定制选项卡的样式和功能,例如添加图标、更改文字颜色等,以...
1.5小结 第2章搭建你的开发环境 2.1配置前的准备工作 2.1.1 Android支持的操作系统 2.1.2准备“四大法宝” 2.2安装并配置JDK 2.2.1 安装JDK 2.2.2配置JDK 2.3安装并配置Eclipse 2.3.1 运行Eclipse 2.3.2 了解Eclipse...
- **1.3 小结**:总结本章的主要内容,并为后续章节的学习做好铺垫。 #### 第2章:Android应用程序的构成 - **2.1 Android应用程序的解析** - **2.1.1 目录结构**:解释Android应用程序的标准目录结构及其意义。 ...
##### 1.5 小结 - 开发环境搭建是整个Android应用开发流程的基础,完成这些步骤后,开发者就可以开始编写代码并构建应用了。 #### 二、Android开发与调试基础 ##### 2.1 Android开发基础 - **Activity**:Activity...
4 实现步骤4.1 创建TabHost4.2 添加Tab4.3 设置Tab内容4.4 启动TabHost5 注意事项5.1 TabHost与TabWidget的区别5.2 Tab内容的切换与更新5.3 动态添加Tab6 示例代码6.1 静态添加Tab6.2 动态添加Tab7 小结7.1 ...