- 浏览: 238253 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
xchd:
分别在什么时候(情况下)用ThreadFactory、Exec ...
Executor线程池实例 -
mikey_5:
是不是没有写完啊
Executor线程池实例 -
xinyao:
楼主,你好,请问能给我发个源码吗,我要在一个页面能实时看到下载 ...
Android学习系列(19)--App离线下载 -
sdtzkj:
...
jasperReport 帮助文档 api -
shero_ys:
public class VrowsePicActivity ...
android handler 实现三步曲
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学习系列(19)--App离线下载
2011-08-13 11:40 1402Android学习系列(19)--App离线下载 ... -
Android学习系列(20)-App数据格式之解析Json
2011-08-13 11:28 1602JSON数据格式,在Android中被广泛运用于客户端和网络( ... -
Android学习系列(1)--为App签名(为apk签名)
2011-08-13 11:20 1679写博客是一种快乐,前提是你有所写,与人分享,是另一种快乐, ... -
Android学习系列(4)--App自适应draw9patch不失真背景
2011-08-13 11:16 2209做人要大度,海纳百川,做事要圆滑,左右逢源,这让我想到了编程也 ... -
Android自定义View之一:初探实例 .
2011-08-13 11:09 1484Android自定义View实现很简单 继承View,重写构 ... -
Android多媒体学:播放网络上的视频 .
2011-08-13 11:05 2066Android支持播放网络上的视频。在播放网络上的视频时,牵涉 ... -
Android多媒体学:利用AudioRecord类实现自己的音频录制程序 .
2011-08-13 11:02 5875AudioRecord类相对于MediaRecorder来说, ... -
Android多媒体:实现图像的编辑和合成 .
2011-08-13 10:59 2164package demo.camera; import ja ... -
自动完成框
2011-05-03 13:44 740请下载源码 -
读取sd卡照片
2011-05-03 13:43 1306请下载源码 -
UC菜单栏布局
2011-05-03 13:41 1123请下载附件 -
Executor线程池实例
2011-04-06 17:42 6678Executor 是 java5 下的一个 ... -
android handler 实现三步曲
2011-04-06 16:59 1434一. 要实现接口: public class VrowseP ... -
android 横竖屏切换
2011-03-25 14:33 1933①不理会。。②只竖屏 ... -
android 分辨率调试
2011-03-25 13:36 1867一:不同的layout Android ... -
android 图片内存溢出
2011-03-21 18:24 3086我的代码如下 is = new FileI ... -
android Exid 不可修改
2011-03-21 13:47 1259Android:只读EditText内容可滚动(禁止输入法)的 ... -
android 对话提示框大全
2011-03-21 12:34 3189Android 对话框(Dialog)大全 建立你自己的对话框 ... -
Android消息提示框和对话框
2011-03-21 12:29 1362在某些情况下需要向用户弹出提示消息,如显示错误信息,收到短消息 ... -
Android Intent 用法汇总
2011-03-08 18:17 1121显示网页 1. Uri uri = Uri.parse( ...
相关推荐
Tab布局主要依赖于`TabHost`和`TabWidget`组件,但在现代Android开发中,我们更倾向于使用`TabLayout`结合`ViewPager`来创建更加灵活和美观的Tab页面。`TabLayout`是Google Material Design库的一部分,提供了更好的...
通常,我们可以使用Android的TabHost、ActionBar(在API 11及以上版本)或ViewPager配合Fragment来实现Tab功能。下面将详细讨论这些实现方式及其相关知识点。 首先,让我们看看TabHost。TabHost是Android SDK提供的...
本文将深入探讨在Android中实现Tab布局的各种方法。 一、Android TabHost 在早期的Android版本中,TabHost是实现Tab功能的主要组件。TabHost允许开发者创建一个含有多个Tab的布局,每个Tab对应一个Activity或者一个...
6. **个性化Tab**:如果你需要更复杂的Tab样式,例如自定义图标或文字颜色,可以重写`TabLayout`的`Tab`对象,使用`setIcon`和`setText`方法,或者设置自定义的`TabView`。 7. **注意事项**:确保在不同的设备和...
总结来说,"Android Tab 栏居中滚动"涉及到`TabLayout`与`ViewPager`的结合使用,自定义Tab视图和滑动事件的处理,以及可能的日期选择功能的实现。通过巧妙地组合和扩展这些组件,开发者可以构建出具有专业视觉效果...
在本资源"Android Tab 选项卡"中,开发者提供了一个使用`Fragment`实现的Tab切换示例,这对于我们理解和实践Android应用的多视图管理有极大的帮助。 `Fragment`是Android系统中一个重要的组件,它代表了应用UI的一...
- 如果需要自定义Tab的显示,可以使用`TabLayout.addTab(Tab tab, boolean setSelected)`方法,并通过`TabLayout.getTabAt(index).setText(title)`或`TabLayout.getTabAt(index).setIcon(icon)`来设置文字和图标。...
综上所述,这个"android Tab页切换的框架demo"涵盖了Android中实现底部导航栏所需的核心技术,包括Fragment、ViewPager、TabLayout的使用,以及自定义布局和事件监听等。通过学习和实践这个demo,开发者可以掌握构建...
Android Tablayout 自定义Tab布局的使用案例 Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能...通过本文,我们可以了解到 Android Tablayout 的使用方法,并学习如何实现自定义的 Tab 布局。
"Android滚动多TAB悬浮头效果"是一种流行的设计模式,常用于新闻、社交媒体和其他内容丰富的应用,它提供了高效的导航和丰富的用户体验。在这个设计中,当用户滚动内容时,顶部的Tab栏会悬浮在屏幕上,既保持了可视...
以上就是使用Fragment和TabLayout+ViewPager实现“android tab滑动”的基本步骤。在实际项目中,可能还需要考虑诸如Tab的动态加载、自定义滑动动画、Tab图标等更复杂的需求,但这个基础框架足以应对大多数情况。通过...
- 使用`TabLayout.setupWithViewPager(viewPager)`方法将`TabLayout`与`ViewPager`关联,自动同步`Tab`和页面内容。 2. **创建PagerAdapter** - 实现`PagerAdapter`的子类,如`FragmentPagerAdapter`或`...
- 使用`TabHost.setup()`方法初始化`TabHost`,然后使用`TabHost.addTab()`为每个Tab添加内容。 - 每个Tab需要指定一个`TabSpec`,它包含了Tab的标签和内容。标签可以是文本或者图标,内容通常是`Intent`,用于...
8. **生命周期管理**:Android应用的组件(如Activity和Fragment)有各自的生命周期方法,开发者需要理解并正确处理这些方法,以确保应用的稳定性和性能。 9. **事件监听**:在Tab分页式菜单中,通常需要监听Tab的...
2. 在`MainTabFragment`内部,使用`FragmentPagerAdapter`或`FragmentStatePagerAdapter`为每个二级Tab创建`Fragment`实例,并在`onCreateView()`或`onResume()`方法中设置`ViewPager`的适配器。 3. 创建二级Tab的`...
通过以上步骤,我们就可以使用RadioButton实现一个非源生风格的自定义Tab页了。这种方式灵活性高,可以根据需求调整Tab的样式和交互方式,为用户提供更个性化的体验。记得在实际项目中,还要考虑兼容性、性能优化...
`TabLayout`是Android Design Support Library的一部分,提供了美观且易于使用的Tab组件。它可以直接与`ViewPager`关联,当用户在`TabLayout`上点击或滑动时,`ViewPager`会自动切换到相应的页面。 实现`...
在Android开发中,创建一个可左右滑动切换的Tab布局是一项常见的需求,这通常涉及到`ViewPager`和`TabLayout`的使用。`ViewPager`允许用户通过左右滑动来浏览多个页面,而`TabLayout`则提供了在顶部展示标签页的功能...
- 如果需要自定义Tab的外观,可以使用`TabLayout.addTab()`方法手动添加Tab,然后调用`TabLayout.Tab.setText()`设置文字,`TabLayout.Tab.setIcon()`设置图标等。 - 或者,可以通过设置`TabLayout....
在Android开发中,创建一个可切换的Tab类型界面是一种常见的需求,用于展示多个相互关联但内容不同的区域。本文将深入探讨如何使用`ViewPager`、`Fragment`、`FragmentPagerAdapter`以及`PagerTitleStrip`来实现这样...