Android ActionBar Tabs学习笔记_actionbar.settabsmode(false);-程序员宅基地

技术标签: null  import  android  tabs  action  class  Android  

本例主要实现用Tab切换不同的Fragment,点击View显示or隐藏ActionBar,把ActionBar 设为透明,使界面更加友好,详细代码见资源里的ActionBarTabs。

ActionBar Tab主要用于Fragment之间的切换,其必须要设置ActionBar.TabListener,详细代码如下ActionBarActivity.java:

import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.app.ActionBar.Tab;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.MotionEvent;
import android.view.Window;

public class ActionBarActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//使ActionBar变得透明
		requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
		setContentView(R.layout.main);

		final ActionBar actionBar = getActionBar();
		actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
		// remove the activity title to make space for tabs
		actionBar.setDisplayShowTitleEnabled(false);

		AFragment aFragment = new AFragment(); 
		actionBar.addTab(actionBar.newTab().setText("Tab-A")            
				.setTabListener(new ListenerA(aFragment))); 
		
		BFragment bFragment = new BFragment(); 
		actionBar.addTab(actionBar.newTab().setText("Tab-B")            
				.setTabListener(new ListenerB(bFragment)));
	}
	//点击显示or隐藏ActionBar
	public boolean onTouchEvent(MotionEvent event){
		ActionBar bar = getActionBar();
		switch(event.getAction()){
			case MotionEvent.ACTION_UP:
				if(bar.isShowing()) bar.hide();
				else bar.show();
				break;
			default:
					break;
		}
		return true;
	}
	
	private class ListenerA implements ActionBar.TabListener {
		private AFragment mFragment;
		// Called to create an instance of the listener when adding a new tab
		public ListenerA(AFragment fragment) {
			mFragment = fragment;
		}
		public void onTabSelected(Tab tab, FragmentTransaction ft) {
			ft.add(R.id.fragment, mFragment, null);
		}
		public void onTabUnselected(Tab tab, FragmentTransaction ft) {
			ft.remove(mFragment);
		}
		public void onTabReselected(Tab tab, FragmentTransaction ft) {
			// do nothing }
		}
	}

	private class ListenerB implements ActionBar.TabListener {
		private BFragment mFragment;

		// Called to create an instance of the listener when adding a new tab
		public ListenerB(BFragment fragment) {
			mFragment = fragment;
		}

		public void onTabSelected(Tab tab, FragmentTransaction ft) {
			ft.add(R.id.fragment, mFragment, null);
		}

		public void onTabUnselected(Tab tab, FragmentTransaction ft) {
			ft.remove(mFragment);
		}

		public void onTabReselected(Tab tab, FragmentTransaction ft) {
			// do nothing }
		}
	}
}
其中涉及到两个Fragment,在前面Fragment的笔记中讲过,这里就不再赘述。类AFragment实现如下,BFragment实现与这类似:
public class AFragment extends Fragment {
	public View onCreateView(LayoutInflater inflater, ViewGroup container, 
			Bundle savedInstanceState) {        
		return inflater.inflate(R.layout.alayout, container, false);   
		}
	}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Flying_tao/article/details/6615171

智能推荐

使用 IMQ+HTB+iptable 统一流量控制心得_imqhiot-程序员宅基地

文章浏览阅读904次。IMQ 是中介队列设备的简称,是一个虚拟的网卡设备,与物理网卡不同的是,通过它可以进行全局的流量整形,不需要一个网卡一个网卡地限速。这对有多个ISP接入的情况特别方便。配合 Iptables,可以非常方便地进行上传和下载限速。一、网络环境简介目的站点 (Internet) IP: 218.x.x.x (用 TARGET_IP 表示)路由器 (Router) eth1_imqhiot

C++将UTF-8编码的文件转化为GB2312编码_c++ utf-8转gb2312-程序员宅基地

文章浏览阅读1.9k次。C++将UTF-8编码的文件转化为GB2312编码我需要对一个html网页进行解析,html是使用UTF-8编码的。但是,我使用的visual Studio 19是使用gb2312进行编码的。当读入html文件并在控制台上输出时,中文自然全部变成了乱码所以,需要通过某些操作,对读入的字符串进行转化,将UTF-8编码转为GB2312编码在网上看了很多文章,都没有解决问题,或者过于复..._c++ utf-8转gb2312

信安软考 第十四章 恶意代码防范技术原理_第14章恶意代码防范技术原理-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏9次。恶意代码(Malicious code),是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用,破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另一外一台计算机系统,未经授权认证访问或破坏计算机系统。通常许多人认为“病毒”代表了所有感染计算机并造成破坏的程序,但实际上,换成“恶意代码”更为贴切,病毒只是恶意代码的一种。恶意代码的种类包括。_第14章恶意代码防范技术原理

【IoT】产品设计:硬件成本核算,这篇文章就够了_硬件产品的成本能算得出来吗-程序员宅基地

文章浏览阅读4.5k次,点赞12次,收藏29次。今天主要谈谈硬件产品的成本核算问题。一款新产品上市,面临的直接问题就是「定价」,尤其对于初创企业而言,现金流意味着企业的生命线,定价会直接影响到公司的「毛利润」。毛利润直接决定你银行账户里的收益,是指你卖产品给用户获得的钱与你将产品交付到用户手中需要花费钱的差值。不同类型产品的毛利润差别很大,一般会通过计算毛利率代替。相比于小米硬件成本定价,靠增值服务收费的商业模式,多数硬件公司必须获取足够高的毛利润才能生存下去。无论一款产品要走什么样的定价策略,定价绕不开「成本核算..._硬件产品的成本能算得出来吗

使用IntrospectorCleanupListener 解决quartz引起的内存泄漏问题_quartz 定时任务 报错会引起内存增长吗-程序员宅基地

文章浏览阅读1.7k次。"在服务器运行过程中,Spring不停的运行的计划任务和OpenSessionInViewFilter,使得Tomcat反复加载对象而产生框架并用时可能产生的内存泄漏,则使用IntrospectorCleanupListener作为相应的解决办法。"对于这一句话,引用关于IntrospectorCleanupListener一段解释:spring中的提供了一个名为 org.spring_quartz 定时任务 报错会引起内存增长吗

cordova + ionic混合开发常见问题_ionic4 import org.apache.cordova.file.fileutils;-程序员宅基地

文章浏览阅读1.3k次。1.ion-content 内置元素边距问题在使用的过程中发现ion-content里的元素都距四周有一定的距离,在实际需求中不需要四周距离,经查阅文档去掉ion-content 里面的padding属性即可。2.ionic app 国际化经查阅文档和博客目前ionic+cordova混合开发的app目前国际化较好的方案是ngx-translate2.1 插件安装Angular5安装..._ionic4 import org.apache.cordova.file.fileutils;

随便推点

python在windows下载非最新的安装包_python windows 安装文件下载-程序员宅基地

文章浏览阅读340次。python在windows下载非最新的安装包_python windows 安装文件下载

基于RTMP的视频采集上报播放预警方案设计与实现_小米摄像头流地址-程序员宅基地

文章浏览阅读3.5k次。摘 要为了满足人们日益增长的家庭安防需求,结合基本每家每户都有闲置的智能手机的现状,本文提出了一种基于移动智能端的家庭安防系统构造方案。系统充分利用了智能手机的传感器、摄像头、麦克风、闪光灯以及3G/4G/wifi等网络通讯模块,构造了一个集视频直播、视频点播、远程报警为一体的家庭安防系统。系统采用C/S的架构设计,分设三台客户端和两台服务器。客户端以Android系统为依托分别实现传感器数据采集、视频数据采集、视频播放功能。服务器分为事务服务器和流媒体服务器,事务服务器使用python语言搭建_小米摄像头流地址

sja1000 CAN控制器波特率计算方法详解_bus timing register-程序员宅基地

文章浏览阅读5.4k次。这段时间调试公司处理器can总线,实现最基本的对发实验,can控制器是sja1000,起初因为是对发实验,同样2块开发板,同样内核配置相同,因此时钟以及波特率肯定一样,也没有仔细研究can的时钟以及波特率,今天有客户问can控制器的时钟以及波特率,下午仔细看了一下sja1000手册,并且写了一个由波特率和时钟来计算分频值的小程序,这里总结一下。 sja1000 can工作频率和波特率之间分频_bus timing register

arm处理器异常处理-swi_arm 进入异常之后 lr = pc -4-程序员宅基地

文章浏览阅读1w次。ARM处理器共有7中运行模式: 用户模式(usr) -- 正常程序执行模式 |-- |-- 快速中断模式(fiq) -- 用于高速数据传输和通道处理 特 | 异 | 外部中断模式(irq) _arm 进入异常之后 lr = pc -4

IT行业就只是程序员吗,不要局限于敲代码_ⅰt是程序员吗-程序员宅基地

文章浏览阅读2k次。IT这个行业太广泛了,虽然写代码编程占了其中很重要的一个部分,但是真的不是全部!在IT行业有很多不同的工作角色。开始是一个程序猿,是的,我入行第一份工作确实就是coding,然后做企业级产品的硬件安装工程师,然后是做软件安装工程师,接下来是做解决方案工程师,再然后是系统架构师,再然后是解决方案顾问,现在我在一家外企IT公司负责公司相关产品在几个重点行业的技术支持工作。我除了入行的最开始写了两年程序,其他的职位都不是程序猿!大家不要再把IT局限到写程序了好么,有大把的工作岗..._ⅰt是程序员吗

Tomcat安装与配置(详细教程)_tomcat安装及配置教程-程序员宅基地

文章浏览阅读10w+次,点赞161次,收藏1k次。Tomcat安装与配置,Eclipse集成Tomcat,Eclipse如何配置Tomcat_tomcat安装及配置教程

推荐文章

热门文章

相关标签