我刚开始在我的Android应用中使用工具栏而不是操作栏。但它在屏幕底部显示了一个荒谬的设置按钮,我找不到擦除它的方法。请帮帮我。
以下是您了解问题的屏幕截图: http://i.stack.imgur.com/x1Gwe.png
这是我的代码:
SetContentView(Resource.Layout.Main_Activity_Container);
var toolbar = FindViewById<Toolbar>(Resource.Id.Toolbar);
var toolbarBottom = FindViewById<Toolbar>(Resource.Id.BottomToolbar);
SetSupportActionBar(toolbar);
SupportActionBar.Title = "Hello from Toolbar";
SetSupportProgressBarIndeterminate(false);
toolbarBottom.Title = "";
toolbarBottom.InflateMenu (Resource.Menu.tabs);
toolbarBottom.MenuItemClick += delegate(object sender, Toolbar.MenuItemClickEventArgs e)
{
Toast.MakeText(this,
"Bottom toolbar pressed: " + e.Item.TitleFormatted, duration: ToastLength.Short).Show();
indeterminateVisible = !indeterminateVisible;
SetSupportProgressBarIndeterminateVisibility(indeterminateVisible);
};
axml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/actionBarSize"
android:layout_alignParentTop="true"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:background="?attr/colorPrimary" />
<android.support.v7.widget.Toolbar
android:id="@+id/BottomToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/actionBarSize"
style="@style/HeaderBar"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:layout_alignParentBottom="true" />
<FrameLayout
android:id="@+id/Container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/Toolbar"
android:layout_above="@id/BottomToolbar" />
</RelativeLayout>
styles.xml
<style name="MyTheme" parent ="@style/Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryDark">#1976D2</item>
<item name="windowActionModeOverlay">true</item>
<item name="colorAccent">#FF4081</item>
<item name="android:actionMenuTextColor">#24598a</item>
<item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
</style>
<style name="ActionButtonStyle" parent="@style/Widget.AppCompat.ActionButton">
<item name="android:minWidth">70dip</item>
<item name="android:paddingStart">0dip</item>
<item name="android:paddingEnd">0dip</item>
</style>
tabs.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_share"
android:icon="@drawable/icon"
local:showAsAction="always"
android:title="Edit" />
<item android:id="@+id/menu_share"
android:icon="@drawable/icon"
local:showAsAction="always"
android:title="Undo" />
<item android:id="@+id/menu_share"
android:icon="@drawable/icon"
local:showAsAction="always"
android:title="Redo" />
<item android:id="@+id/menu_share"
android:icon="@drawable/icon"
local:showAsAction="always"
android:title="Save" />
我还想更改这些菜单项的位置。我知道我可以在工具栏中使用自定义组件,但我不明白为什么这些菜单项总是出现在右侧。 谢谢。
答案 0 :(得分:4)
我遇到了同样的问题,我按照以下步骤解决了这个问题:
首先要删除底部令人作呕的设置按钮,请执行以下操作:
在你的活动中,评论getMenuInflater()。inflate(...):
....
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getMenuInflater().inflate(R.menu.display_map, menu);
return true;
}
....
这肯定会从底部删除设置按钮,它确实是我的。
现在您可以创建自己的菜单项作为普通视图,在工具栏中添加任意数量的按钮,无论您想要什么,请参阅示例:
工具栏只是一个ViewGroup,因此,在您的toolbar.xml文件中或者您已定义android.support.v7.widget.Toolbar时,根据您对按钮及其位置的要求进行更改。
下面显示了如何在工具栏中心添加按钮,您可以将其更改为所需位置:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:minHeight="?attr/actionBarSize"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/color_toolbar"
android:layout_width="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="button"
android:onClick="buttonHandler"/>
</android.support.v7.widget.Toolbar>