android之实现底部TabHost
先说布局文件,如下:利用android:layout_alignParentBottom="true" 实现底部显示
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
TabHost
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:id
=
"@android:id/tabhost"
android:orientation
=
"vertical"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
>
<
RelativeLayout
android:background
=
"@drawable/g"
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"
android:layout_alignParentBottom
=
"true"
>
</
TabWidget
>
<
FrameLayout
android:id
=
"@android:id/tabcontent"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
>
<
RelativeLayout
android:id
=
"@+id/tabFirst"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:orientation
=
"vertical"
>
<
AnalogClock
android:id
=
"@+id/widget31"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_centerInParent
=
"true"
>
</
AnalogClock
>
</
RelativeLayout
>>
<
RelativeLayout
android:id
=
"@+id/tabSecond"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:orientation
=
"vertical"
>
<
DigitalClock
android:layout_centerInParent
=
"true"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
>
</
DigitalClock
>
</
RelativeLayout
>
</
FrameLayout
>
</
RelativeLayout
>
</
TabHost
>
package
com.cloay;
import
android.app.TabActivity;
import
android.graphics.Color;
import
android.os.Bundle;
import
android.widget.TabHost;
import
android.widget.TabHost.OnTabChangeListener;
import
android.widget.Toast;
public
class
TabTestActivity
extends
TabActivity {
TabHost tabHost;
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取TabHost对象
tabHost = getTabHost();
// tabHost.setup();
//新建一个newTabSpec,设置标签和图标(setIndicator),设置内容(setContent)
tabHost.addTab(tabHost.newTabSpec(
"Test one"
).setIndicator(
""
,getResources().getDrawable(android.R.drawable.ic_menu_call)).setContent(R.id.tabFirst));
tabHost.addTab(tabHost.newTabSpec(
"Test two"
).setIndicator(
""
,getResources().getDrawable(android.R.drawable.ic_menu_camera)).setContent(R.id.tabSecond));
//设置TabHost的背景颜色
tabHost.setBackgroundColor(Color.argb(
150
,
22
,
70
,
150
));
//设置TabHost的背景图片资源
// tabHost.setBackgroundResource(R.drawable.bg);
//设置当前现实哪一个标签
tabHost.setCurrentTab(
0
);
//0为标签ID
//标签切换处理,用setOnTabChangedListener
tabHost.setOnTabChangedListener(
new
OnTabChangeListener(){
public
void
onTabChanged(String tabId){
Toast.makeText(TabTestActivity.
this
,
"This is a Test!"
, Toast.LENGTH_LONG).show();
}
});
}
}
android之实现底部TabHost的更多相关文章
- Android底部TabHost API
今天在项目中遇到了底部TabHost,顺便就写了一个底部TabHost的api继承即可使用非常简单,以下为源代码: 首先是自定义的TabHostActivity,如果要使用该TabHost继承该类即可 ...
- Android 自学之选项卡TabHost
选项卡(TabHost)是一种非常实用的组件,TabHost可以很方便地在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组建摆放区域.通过这种方式,就可以在一个容器中放置更多组件 ...
- [置顶]
xamarin android Fragment实现底部导航栏
前段时间写了篇关于Fragment的文章,介绍了基础的概念,用静态和动态的方式加载Fragment Xamarin Android Fragment的两种加载方式.下面的这个例子介绍xamarin ...
- Android UI-实现底部切换标签(fragment)
Android UI-实现底部切换标签(fragment) 前言 本篇博客要分享的一个UI效果--实现底部切换标签,想必大家在一些应用上面遇到过这样的效果了,最典型的就是微信了,能够左右滑动切换页面. ...
- 【Android】带底部指示的自定义ViewPager控件
在项目中经常需要使用轮转广告的效果,在android-v4版本中提供的ViewPager是一个很好的工具,而一般我们使用Viewpager的时候,都会选择在底部有一排指示物指示当前显示的是哪一个pag ...
- Android BottomSheet:底部弹出Fragment面板(4)
Android BottomSheet:底部弹出Fragment面板(4) BottomSheet不仅可以弹出轻量级的定制好的面板(见附录文章5,6,7),还可以弹出"重"的 ...
- Android UI-仿微信底部导航栏布局
现在App基本的标配除了侧滑菜单,还有一个就是底部导航栏,常见的聊天工具QQ,微信,购物App都有底部导航栏,用户可以随便切换看不同的内容,说是情怀也好,用户体验也罢.我们开发的主要的还是讲的是如何如 ...
- android学习笔记十——TabHost
TabHost——标签页 ==> TabHost,可以在窗口放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆放区域. 通过此种方式可以实现在一个容器放置更多组件(EG:通话记 ...
- 【Android 界面效果22】Android的Tab与TabHost
Tab与TabHost 这就是Tab,而盛放Tab的容器就是TabHost 如何实现?? 每一个Tab还对应了一个布局,这个就有点好玩了.一个Activity,对应了多个功能布局. ①新建一个Tab项 ...
随机推荐
- jQuery基本API小结(上)--选择器-DOM操作-动画-Ajax
一.JQuery基础选择器 1.基本选择器(CSS选择器) 2.$()中的()不一定是指定元素,也可能是函数. 3.“*”号选择器,它的功能是获取页面中的全部元素:$(“*”). 由于使用*选择器获取 ...
- 第一章IP:网际协议
I P是T C P / I P协议族中最为核心的协议.所有的 T C P.U D P.I C M P及I G M P数据都以I P数据报格式传输(见图 1 - 4).许多刚开始接触 T C P / I ...
- 利用 Django admin 完成更多任务(转)
利用 Django admin 完成更多任务 Django admin Django 为未来的开发人员提供了许多功能:一个成熟的标准库,一个活跃的用户社区,以及 Python 语言的所有好处.虽然 ...
- 分环境部署SpringBoot日志logback-spring.xml
springboot按照profile进行打印日志 log4j logback slf4j区别? 首先谈到日志,我们可能听过log4j logback slf4j这三个名词,那么它们之间的关系是怎么样 ...
- Oracle 相关知识点结构图
最近在学Oracle数据库,制作了些结构图方便记忆!主要涉及到Oracle数据类型,Oracle的表操作以及Oracle的游标,还有的之后再分享...... Oracle 数据类型 因为图片上只能看到 ...
- 修改kvm虚拟机镜像大小
修改虚拟机镜像大小(qcow2/raw resize) 创建一个镜像文件,大小1G taw muxueqz@muxueqz /tmp $ qemu-img create -f raw t.raw 1G ...
- C++ new到底new什么
VS2010-Debug版本 9: int *obj = new int(6); 00F714CE push //压栈 00F714D0 call operator new (0F711EAh) // ...
- centos7 安装docker-ce ,最新版本docker,docker阿里云加速
直接用yum install docker -y安装的docker版本为1.12,但是docker发展很快,现在都17.06.2了.docker-ce是指docker的社区版 卸载老版本的 docke ...
- UNITY的UI之Pivot与Anchor区别
Pivot Rotations, size, and scale modifications occur around the pivot so the position of the pivot a ...
- QT中自定义系统托盘的实现—c++语言为例
将要介绍的是:QT中自定义系统托盘(systemtray)的一个Demo,希望能帮需要的读者快速上手. 前提假设是诸位已经知道QT中的signals .slot以及资源文件,所以关于这些不会再累述. ...