我有两个工具栏(顶部和底部),如图所示:
这两个工具栏在他们自己的xml文件中定义,没什么特别的:
top_toolbar.xlm
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
</android.support.v7.widget.Toolbar>
bottom_toolbar.xlm
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorBottomTrans"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
</android.support.v7.widget.Toolbar>
并添加到主要活动中:
activity_main.xlm
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/relLayout"
android:background="@android:color/white">
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"></include>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World"
android:layout_below="@+id/tool_bar"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_margin="20dp" />
<include
android:id="@+id/tool_bar_bottom"
layout="@layout/tool_bar_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"></include>
</RelativeLayout>
每个工具栏中的项目都会从菜单文件中膨胀。
MainActivity
private void initToolbars() {
topToolbar = (Toolbar) findViewById(R.id.tool_bar);
bottomToolbar = (Toolbar) findViewById(R.id.tool_bar_bottom);
setSupportActionBar(topToolbar);
bottomToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_item_1:
break;
}
return true;
}
});
bottomToolbar.inflateMenu(R.menu.menu_main);
bottomToolbar.getBackground().setAlpha(125);
}
但我想做的是将底部工具栏中的“第1项”移到左侧,如图所示:
有办法做到这一点吗?
提前致谢。
答案 0 :(得分:1)
我提出的最简单的解决方案是更改底部工具栏布局:
<强> bottom_toolbar.xml 强>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorBottomTrans"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lin"
android:orientation="horizontal"
android:layout_gravity="left"
android:gravity="center_vertical">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@mipmap/ic_launcher"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ITEM 1"
android:textStyle="bold"
android:textSize="12dp"
android:id="@+id/toolbar_title"
android:layout_marginLeft="10dp"
android:textColor="@android:color/white" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
然后当我初始化工具栏时,添加:
LinearLayout linearLayout = (LinearLayout) bottomToolbar.findViewById(R.id.lin);
linearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
... do stuff ...
}
});
只需要记住删除&#34;项目1&#34;来自 bottom_toolbar_menu.xml 。并且可以创建一个可绘制的文件来直观地显示点击事件。