例子见资源(不需要资源积分)
主要内容:
使用action bar的menu
Navigating Up with the App Icon
使用action bar的menu
效果:
实现:
在menu资源中创建一个xml,添加action buttons到action bar中
Activity的onCreateOptionsMenu()使用创建的xml。
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_button, menu);
return super.onCreateOptionsMenu(menu);
}
响应action buttons
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.search:
/*点击 seace action button时做相应处理的代码*/
return true;
case R.id.share:
/*点击 share action button时做相应处理的代码*/
return true;
default:
return onOptionsItemSelected(item);
}
}
注意:
使用action bar要包含Theme.Holo相关的theme。
上面代码要求android:minSdkVersion不小于11,为了支持低版本的设备,可以参阅“官方资料链接”的内容。
Navigating Up with the App Icon
效果:
当按下标题栏中的“<” 就会回到原来的页面
实现:
在AndroidManifest.xml中设置logical parent
调用setDisplayHomeAsUpEnabled()来开启up button
public class NavigateUpActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigate_up);
//To allow Up navigation with the app icon in the action bar
getActionBar().setDisplayHomeAsUpEnabled(true);
}
在Activity的onOptionsItemSelected()方法中设置taction bar’s Up button响应
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
//Respond to the action bar's Up/Home button
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}