1,TabHost
提供 Tab 页的窗口视图容器,它有俩个 children,一组是用户可以选择指定 Tab 页 的标签,另一组是 FrameLayout 用来显示该 Tab 页的内容。个别元素通常控制使用这个 容器对象,而不是设置在子元素本身的值。
常用方法:addTab(TabHost.TabSpec tabSpec):添加一项 Tab 页
clearAllTabs():清除所有与之相关联的 Tab 页.
getCurrentTab():返回当前 Tab 页.
getTabContentView():返回包含内容的 FrameLayout
newTabSpec(String tag):返回一个与之关联的新的 TabSpec
实例:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/framebackground">
<!-- 第一个Tab中得layout -->
<LinearLayout android:id="@+id/frist_tab_linearlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"
android:layout_marginTop="100dp"
android:text="@string/love"
android:textColor="#000000"
android:textSize="20sp"
/>
<TextView
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"
android:paddingTop="17dp"
android:text="@string/love_text"
android:textColor="#000000"
android:textSize="15sp"
/>
</LinearLayout>
<!-- 第二个Tab中得layout -->
<LinearLayout android:id="@+id/second_tab_linearlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"
android:layout_marginTop="100dp"
android:text="@string/friendship"
android:textColor="#000000"
android:textSize="20sp"
/>
<TextView
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"
android:paddingTop="17dp"
android:text="@string/friendship_text"
android:textColor="#000000"
android:textSize="15sp"
/>
</LinearLayout>
<!-- 第三个Tab中得layout -->
<LinearLayout android:id="@+id/third_tab_linearlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"
android:layout_marginTop="100dp"
android:text="@string/kinship"
android:textColor="#000000"
android:textSize="20sp"
/>
<TextView
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"
android:paddingTop="17dp"
android:text="@string/kinship_text"
android:textColor="#000000"
android:textSize="15sp"
/>
</LinearLayout>
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/love_group">
<item
android:id="@+id/love_item"
android:icon="@drawable/aiqing"
android:title="Love">
</item>
</group>
</menu>
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/kinship_group">
<item
android:id="@+id/kinship_item"
android:icon="@drawable/qinqing"
android:title="KinShip">
</item>
</group>
</menu>
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/friendship_group">
<item
android:id="@+id/friendship_item"
android:icon="@drawable/youqing"
android:title="FriendShip">
</item>
</group>
</menu>
package net.csdn.blog.androidtoast;
import android.app.TabActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.TabHost;
public class TabHostExampleActivity extends TabActivity {
TabHost mTabHost;
int mMenuTag=0;
Menu mMenu;
static final int mMenuResources[] = {
R.layout.love_menu,
R.layout.friendship_menu,
R.layout.kinship_menu
};
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//获取TabHost
mTabHost=this.getTabHost();
//过滤出TabHost布局
LayoutInflater.from(this).inflate(R.layout.main, mTabHost.getTabContentView(), true);
//为TabHost设置背景颜色
mTabHost.setBackgroundColor(Color.argb(100, 30, 80, 160));
//增加三个选型卡 并设置其图标及绘制布局
mTabHost.addTab(mTabHost.newTabSpec("One")
.setIndicator("", getResources().getDrawable(R.drawable.aiqing))
.setContent(R.id.frist_tab_linearlayout));
mTabHost.addTab(mTabHost.newTabSpec("Two")
.setIndicator("", getResources().getDrawable(R.drawable.youqing))
.setContent(R.id.second_tab_linearlayout));
mTabHost.addTab(mTabHost.newTabSpec("Three")
.setIndicator("", getResources().getDrawable(R.drawable.qinqing))
.setContent(R.id.third_tab_linearlayout));
//添加监听事件
mTabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
if (tabId.equals("One")) {
mMenuTag = 1;
}
if (tabId.equals("Two")) {
mMenuTag = 2;
}
if (tabId.equals("Three")) {
mMenuTag = 3;
}
if (mMenu != null) {
onCreateOptionsMenu(mMenu);
}
}
});
}
//创建对应的菜单项
@Override
public boolean onCreateOptionsMenu(Menu menu) {
mMenu = menu;
mMenu.clear();
//获取菜单过滤器
MenuInflater inflater = getMenuInflater();
switch (mMenuTag) {
case 1:
//动态加入数组中对应的menu.xml
inflater.inflate(mMenuResources[0], menu);
break;
case 2:
inflater.inflate(mMenuResources[1], menu);
break;
case 3:
inflater.inflate(mMenuResources[2], menu);
break;
default:
inflater.inflate(mMenuResources[0], menu);
break;
}
return super.onCreateOptionsMenu(menu);
}
}
2,Gallery 画廊用于展示图片。常用于图片展示。效果很炫。以下是扩展了Gallery实现了3D效果。废话少说代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/default_background"
>
<net.csdn.blog.androidtoast.GalleryFlow
android:id="@+id/pic_gallery"
android:layout_width="fill_parent"
android:layout_height="380dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
由于JAVA代码太多 就不上传了。需要的下载看把 直接上效果图吧
源码下载:http://androidtoast.iteye.com/admin/blogs/1166518
- 大小: 64.7 KB
- 大小: 72.2 KB
- 大小: 73 KB
- 大小: 47.5 KB
- 大小: 50 KB
分享到:
相关推荐
这个"移动应用Android 使用Gallery-tabhost实现标签效果图源码.rar"的资源提供了一种方法来构建一个动态且吸引人的UI,结合了Gallery和TabHost组件。下面我们将深入探讨这两个组件以及如何在实际应用中结合使用它们...
本文将深入讲解如何在Android中使用TabHost,并通过一个简单实例来演示其基本用法。 首先,我们需要了解TabHost的基本结构。TabHost通常包含两个主要部分:TabWidget和FrameLayout。TabWidget负责显示和管理各个Tab...
这个"Android 使用Gallery_tabhost实现标签效果图源码.zip"就是这样一个示例,它展示了如何利用`Gallery`和`TabHost`组件在Android中创建一个自定义的标签页效果。以下是对这个源码实现的详细解析: 首先,`TabHost...
Android游戏开发系列源码+CHM+书籍截图+目录】 Android developer guide中文翻译文档 Android开发开发技巧之 EditText 属性、 ProgressBar 各种样式大全 android用户界面之EditText教程实例汇 android用户界面之...
### Android核心技术开发与实例详解知识点概览 #### 第1章:Android开发起步 - **1.1 Android平台简介** - **1.1.1 Android背景介绍**:本节介绍了Android操作系统的历史背景和发展历程,包括其由来、发展历程...
在Android开发中,TabHost是一个非常重要的组件,它允许开发者创建具有多个标签(tabs)的用户界面,每个标签可以关联到不同的活动(Activity)或视图(View)。本篇文章将深入探讨如何使用TabHost源码在Android应用...
"android的开发实例"这个压缩包提供了一系列的实战项目,旨在帮助初学者和有经验的开发者巩固和提升Android应用开发能力。以下是这14个实例所涵盖的重要知识点: 1. **HelloRelativeLayout**: 这个例子介绍了...
在这个场景中,"Android 使用Gallery_tabhost实现标签效果图源码.rar" 提供了一个实例,它展示了如何结合使用`Gallery`和`TabHost`组件来达到这一目的。`Gallery`是一个可以水平滚动的视图容器,而`TabHost`则是...
在Android开发中,有时我们需要创建一个可滑动的标签页布局,这通常涉及到TabHost和Gallery组件的结合使用。本文将深入探讨如何通过Android源码实现这一功能,以"Android 使用Gallery_tabhost实现标签效果图源码_new...
这个"Android 使用Gallery_tabhost实现标签效果图源码.zip"的资源提供了一种方法,利用Gallery组件和TabHost组件来实现这一功能。以下是关于这个实现方式的详细解释: 首先,`TabHost`是Android SDK中用于创建带有...
《名师讲坛Android开发实战经典》是李兴华老师的一部深入浅出的Android开发教程,书中涵盖了从基础到高级的众多实战项目,旨在帮助读者掌握Android应用开发的核心技术。根据压缩包文件的名称,我们可以推测这些源码...
在Android开发中,`Gallery`组件是一个非常有用的控件,它允许用户通过左右滑动来浏览一系列的项目,常用于创建图片浏览、选项选择等场景。`Gallery`控件是基于`View Pager`的一种实现,提供了平滑滚动的效果,使得...
在Android开发中,创建用户界面是一项重要的任务,而标签(Tab)效果是常见的UI设计元素,常用于组织和展示多视图内容。本教程将详细讲解如何使用`Gallery`和`TabHost`来实现这样的效果。`Gallery`是Android提供的一...
TabHost; ScrollView; ListView、ListActivity; ExpandableListView; GridView、ImageSwitcher; Gallery; 2.5、对话框:AlertDialog; PopupWindow; DatePickerDialog、TimePickerDialog; ProgressDialog; 2.6、...
0、ANDROID常用类库说明 6 1、ANDROID文件系统与应用程序架构 7 1.1、ANDROID 文件系统 7 1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 ...