我需要在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)