我需要在Actionbar中为"Home"活动设置一个自定义徽标(使用ImageView).我正在为这个项目使用ABS.这非常类似于在SO上发布的另一个问题(ActionBar徽标居中和侧面的Action项目),但我不确定ImageView或搜索菜单是否有所作为,因为我没有得到我正在寻找的结果(中心图像),或者如果我错了.基本上,我在左侧设置了一个Icon,在中心插入自定义视图,右侧有一个搜索图标(OptionsMenu).图像确实显示在图标的右侧,但它仍然保持居中.任何关于如何在操作栏中居中ImageView的指针都将非常感激.
Home.java:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
LayoutInflater inflater = (LayoutInflater) getSupportActionBar().getThemedContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
final View customActionBarView = inflater.inflate(
R.layout.actionbar_custom_view_home, null);
/* Show the custom action bar view and hide the normal Home icon and title */
final ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setIcon(R.drawable.ic_ab_som);
actionBar.setCustomView(customActionBarView);
actionBar.setDisplayShowCustomEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this);
inflater.inflate(R.menu.search, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
RES /布局/ actionbar_custom_view_home.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"> …Run Code Online (Sandbox Code Playgroud) 我有一个自定义菜单选项,如果单击屏幕上的按钮,我想禁用它弹出.
我想过使用这段代码,但它不起作用:
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
if (Schedule)
menu.getItem(1).setVisible(View.GONE);
return true;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法阻止菜单按钮做任何事情?谢谢.