android中自定义操作栏上的可点击图像
我正在尝试一种方法,使一个图像可以在我的操作栏上点击。我的意思是我想点击图片打开另一个类我怎么做 这里是定制的actionbar,我在创建时通过编程设置它android中自定义操作栏上的可点击图像,android,android-actionbar,Android,Android Actionbar,我正在尝试一种方法,使一个图像可以在我的操作栏上点击。我的意思是我想点击图片打开另一个类我怎么做 这里是定制的actionbar,我在创建时通过编程设置它 ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(actionBar.getDisplayOptions() | ActionBar.DISPLAY_SHOW_CUSTOM); ImageView imageView = new
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(actionBar.getDisplayOptions() | ActionBar.DISPLAY_SHOW_CUSTOM);
ImageView imageView = new ImageView(actionBar.getThemedContext());
imageView.setScaleType(ImageView.ScaleType.CENTER);
imageView.setImageResource(R.drawable.logoonactionbar);
ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT, Gravity.END | Gravity.CENTER_VERTICAL);
layoutParams.rightMargin = 20;
imageView.setLayoutParams(layoutParams);
actionBar.setCustomView(imageView);
actionBar.setTitle(getResources().getString(R.string.secondaryView));
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setIcon(android.R.color.transparent);
getActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.backgroundcolor)));
是否可能,如果可能,如何实现
谢谢 其实很简单
只需在Menu.xml中添加项即可
下面是menu.xml的示例代码
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
有关更多详细信息,请参阅《开发人员指南》
如果我尝试此操作,图像会变得非常小,如何使其变大?有可能吗?你需要选择你想要大小的图片,为此,请尝试下载一些actionbar图标包。它有不同屏幕所需的所有尺寸@戴夫曼
@Override public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_search:
openSearch(); //Any function call or anything you want to perform
return true;
case R.id.action_settings:
openSettings(); //Any function call or anything you want to perform
return true;
default:
return super.onOptionsItemSelected(item);
} }