<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hyzing"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".HelloTabWidget"
android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".AlbumsActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name=".ArtistsActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name=".SongsActivity"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
package com.hyzing;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;
public class HelloTabWidget extends TabActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
try{
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, ArtistsActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("artists").setIndicator("Artists",
res.getDrawable(R.drawable.ic_tab_artists))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, AlbumsActivity.class);
spec = tabHost.newTabSpec("albums").setIndicator("Albums",
res.getDrawable(R.drawable.ic_tab_artists1))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, SongsActivity.class);
spec = tabHost.newTabSpec("songs").setIndicator("Songs",
res.getDrawable(R.drawable.ic_tab_artists2))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(2);
}catch(Exception e){
e.printStackTrace();
}
}
}
分享到:
相关推荐
【Android Tab Layout 实例】 在Android开发中,Tab Layout是一种常用的UI组件,它允许用户通过不同的标签页来浏览和切换不同的内容区域。这种布局模式在许多应用中都非常常见,如新闻阅读器、音乐播放器或者设置...
ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...
本实例将探讨`Tab`的使用,主要以Java Swing或Android的Tab布局为例,尽管其他编程语言和框架也有类似的实现。在Eclipse这样的集成开发环境中使用这些代码,可以更方便地调试和运行,避免环境配置问题导致的异常。 ...
1. **初始化TabHost**:首先,我们需要获取到TabHost实例,通常是通过`setContentView(R.layout.main)`中的TabHost控件ID来获取。 2. **设置TabHost的模式**:调用`TabHost.setup()`方法初始化TabHost,并将其设置...
本实例将深入探讨如何使用Fragment实现Tab布局,通过源码学习Android的这一核心功能。 首先,Fragment是Android SDK中的一个组件,它允许在Activity中添加可拆卸的UI片段。Fragment有自己的生命周期,并且可以独立...
本实例将深入讲解如何使用Fragment来实现Tab功能。 1. **Fragment介绍** Fragment是Android 3.0(API级别11)引入的新特性,它代表了屏幕的一部分交互逻辑和UI。Fragment可以独立于Activity存在,并且可以在多个...
在这个实例中,我们将会深入理解如何使用Fragment来实现tab切换的效果,这对于创建一个多页面的应用是十分常见的需求。下面我们将详细探讨Fragment以及如何在Android中实现tab切换。 首先,Fragment是Android SDK...
本实例主要探讨如何使用Fragment实现Tab切换效果,这是一个常见的Android应用设计模式,尤其在构建多视图且需要在不同设备屏幕尺寸上适配的应用时更为常见。 在Android的Tab布局中,FragmentTabHost是一个常用的...
下面将详细介绍如何在Android Studio中使用TabLayout实现一个简单的Tab页应用实例。 首先,我们需要在项目中添加Design Support Library。打开build.gradle(Module)文件,找到dependencies部分,添加以下依赖: ``...
在这个实例中,我们将探讨如何模仿微信的Tab布局,以实现类似的用户界面。 首先,我们需要理解Android布局的基本概念。布局是Android应用界面的蓝图,定义了各个组件的位置和交互方式。常用的布局类型有...
在这里,你需要为每个Tab创建一个`Fragment`实例。 4. **关联ViewPager和TabLayout**:在`MainActivity`中,将`ViewPager`与适配器关联,并设置`TabLayout`的`Tab`和`ViewPager`的监听器: ```java ViewPager ...
或者在创建`PagerAdapter`时,传入包含Tab信息的Fragment实例。 四、动态添加和删除Tab 如果需要在运行时动态添加或删除Tab,可以使用`TabLayout`的`addTab()`和`removeTabAt()`方法。 五、监听Tab切换 `...
本项目是一个基于Fragment实现Tab功能的实例,非常适合用于Android毕业设计的学习。让我们深入探讨这个源码中的关键知识点。 1. **Fragment基本概念**:Fragment是Android 3.0(API级别11)引入的,它可以在...
在这个例子中,MyPagerAdapter需要继承自PagerAdapter,并重写`getItem`和`getCount`方法,分别返回对应的Fragment实例和Tab的总数。 在“同一个tab内部实现多个activity的跳转”这一描述中,可能意味着每个Tab对应...
在`getItem`方法中,我们根据位置返回对应的Activity实例(此处假设我们已创建了`Tab1Activity`和`Tab2Activity`)。`getCount`方法返回Tab的数量,`getPageTitle`则设置每个Tab的标题。 **3. 绑定TabLayout和...
3. **设置适配器**:创建一个`FragmentPagerAdapter`或者`FragmentStatePagerAdapter`的子类,实现`INotification`接口,用于向`TabLayout`提供Tab的标题和对应的Fragment实例。例如: ```java public class ...
4. **创建PagerAdapter**:继承`FragmentPagerAdapter`或`FragmentStatePagerAdapter`,并覆写`getItem`和`getCount`方法,分别返回对应Tab的Fragment实例和总的Tab数量。 5. **关联TabLayout和ViewPager**:在...
TabLayout tabLayout = findViewById(R.id.tab_layout); ViewPager viewPager = findViewById(R.id.view_pager); MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getSupportFragmentManager()); ...
`getCount()` 返回Tab的数量,`getItem()` 用于为每个Tab创建对应的`Fragment`实例。 ```java public class MyFragmentPagerAdapter extends FragmentPagerAdapter { public MyFragmentPagerAdapter...