`
朱嘉华
  • 浏览: 236244 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

android tab 用法

阅读更多

TabHost广泛运用于android程序中,在程序中运用TabHost,解决了手机屏幕小,显示内容少的问题,如系统自带的拨号程序,就用了TabHost.

分为拨号、通话纪录、联系人、收藏几个Tab。
先看今天学习的例子的最终效果。


分为三个标签Tab1、Tab2、Tab3。
TabHost与普通的Activity有点区别,主程序继承TabActivity,而不是Activity。所以,在新建项目时Creat Activity不要勾选,因为这里创建的是普通的Activity.
建好项目后,新建一个Class,SuperClass选择android.app.TabActivity,然后将这个TabActivity加入AndroidMainifest.xml,用以下代码:

1
2
3
4
5
6
7
 <activity android:name=".main"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

这段代码放在application标签内,第一行的main要和刚刚建立的TabActivity名对应。
然后就是布局XML,这里用到FrameLayout,框架布局,把三个Tab的布局放在一个FrameLayout里,用id区分。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?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">
	<!--tab1的布局 -->
   <LinearLayout android:id="@+id/tab1"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        androidrientation="vertical" >
        <EditText android:id="@+id/widget34" android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:text="EditText"
            android:textSize="18sp">
        </EditText>
        <Button android:id="@+id/widget30" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Button">
        </Button>
    </LinearLayout>
    <!--tab2的布局 -->
    <LinearLayout android:id="@+id/tab2"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        androidrientation="vertical"  >
        <AnalogClock android:id="@+id/widget36"
            android:layout_width="wrap_content" android:layout_height="wrap_content">
        </AnalogClock>
    </LinearLayout>
    <!--tab3的布局 -->
    <LinearLayout android:id="@+id/tab3"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        androidrientation="vertical">
        <RadioGroup android:id="@+id/widget43"
            android:layout_width="166px" android:layout_height="98px"
            androidrientation="vertical">
            <RadioButton android:id="@+id/widget44"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="RadioButton">
            </RadioButton>
            <RadioButton android:id="@+id/widget45"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="RadioButton">
            </RadioButton>
        </RadioGroup>
    </LinearLayout>
 
</FrameLayout>

程序代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.pocketdigi;
 
import android.app.TabActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost;
 
public class main extends TabActivity {
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setTitle("Tab测试");
		TabHost tabHost = getTabHost();
		LayoutInflater.from(this).inflate(R.layout.main,tabHost.getTabContentView(), true);
		tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("tab1").setContent(R.id.tab1));
		tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("tab2").setContent(R.id.tab2));
		tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("tab3").setContent(R.id.tab3));
	}
 
}
分享到:
评论

相关推荐

    Android Tab 页面的使用范例

    Tab布局主要依赖于`TabHost`和`TabWidget`组件,但在现代Android开发中,我们更倾向于使用`TabLayout`结合`ViewPager`来创建更加灵活和美观的Tab页面。`TabLayout`是Google Material Design库的一部分,提供了更好的...

    Android tab的实现

    通常,我们可以使用Android的TabHost、ActionBar(在API 11及以上版本)或ViewPager配合Fragment来实现Tab功能。下面将详细讨论这些实现方式及其相关知识点。 首先,让我们看看TabHost。TabHost是Android SDK提供的...

    Android的Tab方法

    本文将深入探讨在Android中实现Tab布局的各种方法。 一、Android TabHost 在早期的Android版本中,TabHost是实现Tab功能的主要组件。TabHost允许开发者创建一个含有多个Tab的布局,每个Tab对应一个Activity或者一个...

    Android Tab 选项卡

    在本资源"Android Tab 选项卡"中,开发者提供了一个使用`Fragment`实现的Tab切换示例,这对于我们理解和实践Android应用的多视图管理有极大的帮助。 `Fragment`是Android系统中一个重要的组件,它代表了应用UI的一...

    Android滑动切换tab(切换带动画)

    6. **个性化Tab**:如果你需要更复杂的Tab样式,例如自定义图标或文字颜色,可以重写`TabLayout`的`Tab`对象,使用`setIcon`和`setText`方法,或者设置自定义的`TabView`。 7. **注意事项**:确保在不同的设备和...

    Android tab 栏居中滚动

    总结来说,"Android Tab 栏居中滚动"涉及到`TabLayout`与`ViewPager`的结合使用,自定义Tab视图和滑动事件的处理,以及可能的日期选择功能的实现。通过巧妙地组合和扩展这些组件,开发者可以构建出具有专业视觉效果...

    Android Tab 选项卡 切换

    - 如果需要自定义Tab的显示,可以使用`TabLayout.addTab(Tab tab, boolean setSelected)`方法,并通过`TabLayout.getTabAt(index).setText(title)`或`TabLayout.getTabAt(index).setIcon(icon)`来设置文字和图标。...

    android Tab页切换的框架demo

    综上所述,这个"android Tab页切换的框架demo"涵盖了Android中实现底部导航栏所需的核心技术,包括Fragment、ViewPager、TabLayout的使用,以及自定义布局和事件监听等。通过学习和实践这个demo,开发者可以掌握构建...

    Android滚动多TAB悬浮头效果

    "Android滚动多TAB悬浮头效果"是一种流行的设计模式,常用于新闻、社交媒体和其他内容丰富的应用,它提供了高效的导航和丰富的用户体验。在这个设计中,当用户滚动内容时,顶部的Tab栏会悬浮在屏幕上,既保持了可视...

    android tab滑动

    以上就是使用Fragment和TabLayout+ViewPager实现“android tab滑动”的基本步骤。在实际项目中,可能还需要考虑诸如Tab的动态加载、自定义滑动动画、Tab图标等更复杂的需求,但这个基础框架足以应对大多数情况。通过...

    Android Tablayout 自定义Tab布局的使用案例

    Android Tablayout 自定义Tab布局的使用案例 Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能...通过本文,我们可以了解到 Android Tablayout 的使用方法,并学习如何实现自定义的 Tab 布局。

    android Tab和ViewPager结合的例子

    - 使用`TabLayout.setupWithViewPager(viewPager)`方法将`TabLayout`与`ViewPager`关联,自动同步`Tab`和页面内容。 2. **创建PagerAdapter** - 实现`PagerAdapter`的子类,如`FragmentPagerAdapter`或`...

    android tab选项卡功能实现

    - 使用`TabHost.setup()`方法初始化`TabHost`,然后使用`TabHost.addTab()`为每个Tab添加内容。 - 每个Tab需要指定一个`TabSpec`,它包含了Tab的标签和内容。标签可以是文本或者图标,内容通常是`Intent`,用于...

    Android应用源码之(Tab分页式菜单)-IT计算机-毕业设计.zip

    8. **生命周期管理**:Android应用的组件(如Activity和Fragment)有各自的生命周期方法,开发者需要理解并正确处理这些方法,以确保应用的稳定性和性能。 9. **事件监听**:在Tab分页式菜单中,通常需要监听Tab的...

    android实现两层tab嵌套

    2. 在`MainTabFragment`内部,使用`FragmentPagerAdapter`或`FragmentStatePagerAdapter`为每个二级Tab创建`Fragment`实例,并在`onCreateView()`或`onResume()`方法中设置`ViewPager`的适配器。 3. 创建二级Tab的`...

    android实现自定义tab页

    通过以上步骤,我们就可以使用RadioButton实现一个非源生风格的自定义Tab页了。这种方式灵活性高,可以根据需求调整Tab的样式和交互方式,为用户提供更个性化的体验。记得在实际项目中,还要考虑兼容性、性能优化...

    ViewPagerTabDemo实现Android Tab切换菜单

    `TabLayout`是Android Design Support Library的一部分,提供了美观且易于使用的Tab组件。它可以直接与`ViewPager`关联,当用户在`TabLayout`上点击或滑动时,`ViewPager`会自动切换到相应的页面。 实现`...

    Android tab 左右可滑动跳转

    在Android开发中,创建一个可左右滑动切换的Tab布局是一项常见的需求,这通常涉及到`ViewPager`和`TabLayout`的使用。`ViewPager`允许用户通过左右滑动来浏览多个页面,而`TabLayout`则提供了在顶部展示标签页的功能...

    android tab dialog

    - 如果需要自定义Tab的外观,可以使用`TabLayout.addTab()`方法手动添加Tab,然后调用`TabLayout.Tab.setText()`设置文字,`TabLayout.Tab.setIcon()`设置图标等。 - 或者,可以通过设置`TabLayout....

    android Tab类型切换界面

    在Android开发中,创建一个可切换的Tab类型界面是一种常见的需求,用于展示多个相互关联但内容不同的区域。本文将深入探讨如何使用`ViewPager`、`Fragment`、`FragmentPagerAdapter`以及`PagerTitleStrip`来实现这样...

Global site tag (gtag.js) - Google Analytics