android之ActionBarActivity的用法

ActionBarActivity是从api 18(android4.3) 开始出现的(需要项目导入v7包),而在这之前,api11上就允许使用ActionBar了。其实ActiveBarActivity的使用非常简单,不过网上demo比较没有详细介绍的。

我将通过一个例子来详细ActionBarActivity的使用。

1、首先创建一个简单的android项目,项目名称为ActionBarActivityDemo。注意:target中的api需要在api18以上

2、我们自己写的一个方法(setActionBarLayout),该方法设置左、右边的图片及中间部分的标题栏信息。

1)通过android.support.v7.app.ActionBarActivity.getSupportActionBar();获得系统ActionBar对象,如果你创建的工程不是继承ActionBarActivity,将会返回null。

2)使用LayoutInflater对象设置布局,并设置ActionBar布局参数,通过setCustomView(view,params);

public View setActionBarLayout(Integer left, String title, Integer right) {
		ActionBar actionBar = getSupportActionBar();

		if (null != actionBar) {
			if (actionBar != null) {
				actionBar.setTitle("");
			}
			actionBar.setDisplayShowTitleEnabled(false);
			actionBar.setDisplayShowHomeEnabled(false);
			actionBar.setDisplayShowCustomEnabled(true);
			LayoutInflater inflator = (LayoutInflater) this
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			View v = inflator.inflate(R.layout.actionbar, null);
			ActionBar.LayoutParams layout = new ActionBar.LayoutParams(
					LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
			actionBar.setCustomView(v, layout);
			((TextView) v.findViewById(R.id.menu_title_tv)).setText(title);
			v.findViewById(R.id.menu_title_tv).setOnClickListener(this);
			if (left != null) {
				((ImageButton) v.findViewById(R.id.menu_left))
						.setImageResource(left);
			} else {
				v.findViewById(R.id.menu_left).setVisibility(View.INVISIBLE);
			}
			if (right != null) {
				((ImageButton) v.findViewById(R.id.menu_right))
						.setImageResource(right);
			} else {
				v.findViewById(R.id.menu_right).setVisibility(View.INVISIBLE);
			}
			return v;
		}
		return null;
	}


3)设置左、右按钮的事件。

@Override
	public void onClick(View arg0) {
		switch (arg0.getId()) {
		case R.id.menu_left:
			this.finish();
			break;
		case R.id.menu_right:
			Intent intent = new Intent(this, MenuActivity.class);
			startActivity(intent);
			break;
		case R.id.menu_title_tv:
			Log.e(TAG, "title");
			break;
		}

	}




  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qiuchenlong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值