我创建了一个带有简单TextView的自定义ActionBar,文本应该与中心对齐。然后我用onCreateOptionsMenu方法添加了一个MenuItem。结果是每个组件都在ActionBar的每一侧,菜单项放在左角,文本视图放在右角。尽管向操作栏添加菜单项,如何使文本视图保持居中?
这是我的自定义action_bar_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/app_name"
android:textColor="#ffffff"
android:id="@+id/action_bar_text"
android:textSize="18sp"/>
</LinearLayout>
这是我的menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.rashish.myapplication.MainActivity">
<item
android:id="@+id/back_action"
android:orderInCategory="100"
android:title="@string/back"
app:showAsAction="always"/>
</menu>
这是我的onCreateOptionsMenu方法:
public boolean onCreateOptionsMenu(Menu menu) {
this.mMenu = menu;
getMenuInflater().inflate(R.menu.menu_main, mMenu);
MenuItem item = menu.findItem(R.id.back_action);
item.setVisible(true);
return true;
}
这就是我在onCreate方法
中使用自定义操作栏的方法 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.action_bar_layout);
//MORE CODE