Android开发学习之初识ActionBar

浏览:
字体:
发布时间:2013-12-11 11:03:11
来源:

ActionBar,即操作栏,根据Android官方给出的描述:操作栏是一个窗口功能,可识别用户位置,并提供用户操作和导航模式。使用操作栏提供您的用户不同应用程序中熟悉的界面,该系统优雅地适应不同的屏幕配置。我们首先来看看一个一般情况下的操作栏的结构,首先应用程序将整个操作栏分为四个区域,分别是:1、应用程序图标 2、查看控制 3、动作按钮 4、动作溢出

vcq90aHU8bK7zay1xMrTzbzS1OSvwMCyu82stcTK/b7do7u2r9f3sLTFpc/Uyr7Ev8ew06bTw7PM0PLW0NfuzqrW2NKqtcSy2df3o7u2r9f30uez9tTyyse9q7K7s6PTw7XEuabE3NLGs/ay2df3wLiho9TastnX98C41tDX7s6q0v3Iy9eixL+1xLmmxNzTprjDysfE3Lm71NrGwcS70P3XqrXEuf2zzNbQ19S2r8rK06ZVSSzV4tLizrbXxc7Sw8e1xNOm08OzzNDyvau+37G4uPy6w7XEvObI3dDUoaPT2rTLzazKsaOszai5/cCp1blBY3Rpb25CYXKjrM7Sw8e/ydLUyrXP1ralsr+horXXsr+6zVRhYrXEstnX98C4o6zV4tH5vs2/ydLUvajBosbwzbPSu7XEQW5kcm9pZNOm08O35yYjMjY2ODQ7oaPPwsPmztLDx77NwLTRp8+w1NrX1Ly6tcTTptPDs8zQ8tbQyrnTw0FjdGlvbkJhcqOszai5/c/Cw+a1xMD919OjrM7Sw8fE3Lm70afPsLW9o7o8L3A+CjxwPiAgICAgICAgICAgICAgMaGitLS9qNGhz+6yy7WloaLJz8/CzsSyy7WlPC9wPgo8cD4gICAgICAgICAgICAgIDKhorS0vaiy2df3wLg8L3A+CjxwPiAgICAgICAgICAgICAgM6Giz9TKvrrN0v6y2LLZ1/fAuDwvcD4KPHA+ICAgICAgICAgICAgICDK18/IwLS/tL+01+7W1cq1z9a1xNCnufuwyaOhPC9wPgo8cD4gICAgICAgICAgICA8aW1nIHNyYz0="http://www.vm888.com/uploadfile/Collfiles/20131210/2013121014065852.png" alt="/">//

界面布局大家已经看到了,直接给出布局代码吧:

        
相信大家都知道如何创建菜单吧,在今天的例子中,我们将一次学会ActionBar和菜单的创建,因为两者创建的方式都是一样的,唯一不同的地方是需要setShowAsAction()方法来设置菜单项的属性,如果有这个属性,就会显示为ActionBar,没有这个属性就会显示为菜单,我们一起来看代码:

package com.Android.ActionBar;import android.os.Bundle;import android.app.ActionBar;import android.app.Activity;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {	private Button BtnLongPress;	private Button BtnShow;	private Button BtnHide;	private ActionBar mActionBar;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		//取得操作栏		mActionBar=getActionBar();		//获取界面实例		BtnLongPress=(Button)findViewById(R.id.BtnLongPress);		registerForContextMenu(BtnLongPress);		//显示和隐藏ActionBar		BtnShow=(Button)findViewById(R.id.BtnShow);		BtnShow.setOnClickListener(new OnClickListener()		{			@Override			public void onClick(View v) 			{				mActionBar.show();			}		});		BtnHide=(Button)findViewById(R.id.BtnHide);		BtnHide.setOnClickListener(new OnClickListener()		{			@Override			public void onClick(View v) 			{				mActionBar.hide();			}		});	}	/*	 * 选项菜单响应	 */		@Override	public boolean onOptionsItemSelected(MenuItem item) 	{		switch(item.getItemId())		{		  case 0:			  Toast.makeText(this, "你选择了编辑菜单", Toast.LENGTH_SHORT).show();		  break;		  case 1:			  Toast.makeText(this, "你选择了搜索菜单", Toast.LENGTH_SHORT).show();		  break;		  case 2:			  Toast.makeText(this, "你选择了刷新菜单", Toast.LENGTH_SHORT).show();		  break;		  		}		return super.onOptionsItemSelected(item);	}		/*	 * 添加选项菜单	 * 用于ActionBar的选项菜单	 */	@Override	public boolean onCreateOptionsMenu(Menu menu) 	{	    /*	     * 普通的ActionBar项目,有空间则显示	     */		menu.add(0,0,1,"编辑")		.setIcon(R.drawable.ic_editor_white).		setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);		/*		 * 可以折叠的ActionBar项目		 */		menu.add(0,1,2,"搜索")		.setIcon(R.drawable.ic_search_white)		.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS|MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);		menu.add(0,2,3,"刷新")		/*		 * 		 * 显示文本的ActionBar项目		 */		.setIcon(R.drawable.ic_refresh_white)		.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);		return true;	}		/*	 * 添加上下文菜单	 */    @Override	public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)	{        menu.add(0,1,0,"选项1");        menu.add(0,2,1,"选项2");        menu.add(0,3,2,"选项3");        menu.add(0,4,3,"选项4");	}        /*     * 上下文菜单响应     */	@Override	public boolean onContextItemSelected(MenuItem item) 	{		switch(item.getItemId())		{		  case 1:			  Toast.makeText(this, "你选择了选项1", Toast.LENGTH_SHORT).show();		  break;		  case 2:			  Toast.makeText(this, "你选择了选项2", Toast.LENGTH_SHORT).show();		  break;		  case 3:			  Toast.makeText(this, "你选择了选项3", Toast.LENGTH_SHORT).show();		  break;		  case 4:			  Toast.makeText(this, "你选择了选项4", Toast.LENGTH_SHORT).show();		  break;		}		return super.onContextItemSelected(item);	}		}
在这里,有三个主要的方法:

1、getActionBar()方法获得一个ActionBar实例

2、使用show()和hide()方法来分别显示和隐藏ActionBar

3、通过setShowAsAction()方法来决定显示项目的外观

此外,我们需要将 AndroidManifest.xml文件中的sdk最低版本设为11,这样程序才能顺利运行。

明天要和大家分享的是,如何在ActionBar中使用View视图,即ActionBar的第二部分,以及在拥有物理按键的手机上如何强制显示溢出,今天就是这样啦。

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();