您的位置:首页 > 移动开发 > Android开发

android之ActionBarActivity的用法

2015-07-15 11:44 615 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android UI设计