本文实例讲述了Android ActionBar Item用法。分享给大家供大家参考,具体如下:
这里主要讲述ActionBar Item的使用方法。在手机上,按Menu键出现Menu菜单,但是在平板中可以把菜单放在ActionBar里面,放置的Item也比手机上多,下面详细介绍其用法:
1、在Androidmanifest.xml里面加上
或者
要使版本号在3.0以上,这样系统就自动把Menu放在ActionBar上面。
2、准备一个menu.xml,以便加载。其实这就是一个传统的menu布局,只是多了android:showAsAction="ifRoom|withText"这个属性,ifRoom的意思就是说只要ActionBar上有空间,就把该Item显示出来,否则就坠在后面。
3、Activity中的代码:
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.SearchView;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.TextView;
import android.widget.Toast;
public class ActionBarUsageActivity extends Activity implements onQueryTextListener {
TextView mSearchText;
int mSortMode = -1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mSearchText = new TextView(this);
setContentView(mSearchText);
}
//和加载传统的menu一样,重写onCreateOptionsMenu方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.actions, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setonQueryTextListener(this);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (mSortMode != -1) {
Drawable icon = menu.findItem(mSortMode).getIcon();
menu.findItem(R.id.action_sort).setIcon(icon);
}
return super.onPrepareOptionsMenu(menu);
}
//和相应传统的menu一样,重写onOptionsItemSelected方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}
// This method is specified as an onClick handler in the menu xml and will
// take precedence over the Activity's onOptionsItemSelected method.
// See res/menu/actions.xml for more info.
public void onSort(MenuItem item) {
mSortMode = item.getItemId();
// Request a call to onPrepareOptionsMenu so we can change the sort icon
invalidateOptionsMenu();
}
// The following callbacks are called for the SearchView.onQueryChangeListener
// For more about using SearchView, see src/.../view/SearchView1.java and SearchView2.java
public boolean onQueryTextChange(String newText) {
newText = newText.isEmpty() ? "" : "Query so far: " + newText;
mSearchText.setText(newText);
return true;
}
public boolean onQueryTextSubmit(String query) {
Toast.makeText(this, "Searching for: " + query + "...", Toast.LENGTH_SHORT).show();
return true;
}
}
这样,一个ActionBar Item的例子就顺利的完成了。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。



