在ActionBar上添加搜索和分享功能:
1,ActionBar上添加搜索功能
首先在menu清单文件中添加item如下:
<item
android:id="@+id/menu_item_search"
android:actionViewClass="android.widget.SearchView"
android:orderInCategory="1"
android:showAsAction="always"
android:title="搜索"/>
然后再Activity的菜单选项中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem item = menu.findItem(R.id.menu_item_search);
SearchView sv = (SearchView) item.getActionView();
sv.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
// txtv.setText(newText)
return false;
}
});
return true;
}
2,通过ActionBar上的图标点击事件启动分享功能:
首先在menu清单文件中添加item如下:
<item
android:id="@+id/menu_item_share"
android:actionProviderClass="android.widgt.ShareActionProvider"
android:icon="@android:drawable/ic_menu_share"
android:orderInCategory="1"
android:showAsAction="always"
android:title="Share"/>
然后再Activity的menu菜单的点击监听中:
@Override
public boolean onOptionsItemSelected(MenuItem item) {int itemId = item.getItemId();
switch (itemId) {
case R.id.menu_item_share:
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_SUBJECT, "分享");
intent.putExtra(Intent.EXTRA_TEXT, "这是来自医药吧的分享");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent.createChooser(intent, "请选择分享至"));
break;
default:break;
}
return super.onOptionsItemSelected(item);
}