手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >android 自定义TabActivity的实例方法
android 自定义TabActivity的实例方法
摘要:一、改变Tab栏的位置。java代码。在TabActivity的oncreate方法中添加setContentView(R.layout.t...

一、改变Tab栏的位置。

java代码。在TabActivity的oncreate方法中添加

setContentView(R.layout.tab_host);

其中 Layout tab_host.xml 是从系统资源文件中抠出来之后略作修改。

系统原来的 tab_host.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="match_parent" android:layout_height="match_parent">

<LinearLayout android:orientation="vertical"

android:layout_width="match_parent" android:layout_height="match_parent">

<TabWidget android:id="@android:id/tabs" android:layout_width="match_parent"

android:layout_height="wrap_content" android:layout_weight="0" />

<FrameLayout android:id="@android:id/tabcontent"

android:layout_width="match_parent" android:layout_height="0dip"

android:layout_weight="1"/>

</LinearLayout>

</TabHost>

要实现TAB栏在页面下方,只需简单修改。

复制代码 代码如下:

<?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="0dip"

android:layout_weight="1"/>

<TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent"

android:layout_height="wrap_content" android:layout_weight="0" />

</LinearLayout>

</TabHost>

这样,就实现了TAB栏在页面下册。需要注意的是,view的id不要修改。

二、自定义TAB的图片。系统自带的tab_indicator.xml内容如下

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (C) 2008 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

-->

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="0dip"

android:layout_height="64dip"

android:layout_weight="1"

android:layout_marginLeft="-3dip"

android:layout_marginRight="-3dip"

android:orientation="vertical"

android:background="@android:drawable/tab_indicator">

<ImageView android:id="@+id/icon"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

/>

<TextView android:id="@+id/title"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_centerHorizontal="true"

/>

</RelativeLayout>

可以看出,默认情况下,图标在文字上方,并且不能占到整个格,无法满足设计需要。因此可以重写该Layout。

编写tab_in.xml

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="wrap_content"

android:layout_height="64dip"

android:orientation="vertical"

>

</RelativeLayout>

View view1 = inflater.inflate(R.layout.tab_in, null);;

View view2 = inflater.inflate(R.layout.tab_in, null);;

View view3 = inflater.inflate(R.layout.tab_in, null);;

view1 .setBackgroundResource(R.drawable.record_upload_button_stateful);

view2 .setBackgroundResource(R.drawable.record_download_button_stateful);

view3 .setBackgroundResource(R.drawable.record_receive_button_stateful);

tabHost.addTab(tabHost

.newTabSpec("view1")

.setIndicator(view1)

);

tabHost.addTab(tabHost

.newTabSpec("view2")

.setIndicator(view2)

);

tabHost.addTab(tabHost

.newTabSpec("view3")

.setIndicator(view3)

);

【android 自定义TabActivity的实例方法】相关文章:

android异步加载图片并缓存到本地实现方法

Android adb的常用命令

android 默认时间格式修改方法

Android实现多线程断点下载的方法

android中自定义checkbox的图片和大小

解析Android开发中多点触摸的实现方法

Android通过手势实现的缩放处理实例代码

Android三种菜单实例分析

解析在Android中为TextView增加自定义HTML标签的实现方法

Android 自动化测试经验分享 UiObejct.getFromParent()的使用方法

精品推荐
分类导航