1

Я только начал использовать панель инструментов вместо панели действий в приложении для Android. Но это показывает смешную кнопку настроек в нижней части экрана, и я не мог найти способ ее стереть. Пожалуйста, помогите мне с этим.Панель инструментов AppCompat, показывающая кнопку нежелательных настроек

Вот скриншот для вас, чтобы понять проблему: 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" /> 

Я также хочу, чтобы изменить положение этих пунктов меню. Я знаю, что я могу использовать пользовательские компоненты внутри панелей инструментов, но я не понимаю, почему эти пункты меню всегда отображаются в правой части. Спасибо.

ответ

4

Я была такая же проблема, я решил его, выполнив следующие шаги:

Прежде всего, чтобы удалить кнопку отвратительной настроек в нижней части сделайте следующее:

В вашей деятельности, комментарий getMenuInflater(). надувание (...):

.... 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    //getMenuInflater().inflate(R.menu.display_map, menu); 
    return true; 
} 

.... 

Это, безусловно, удалит кнопку настроек снизу, это сделало мое.

Теперь вы можете создавать свои собственные пункты меню в виде обычных представлений, добавить столько кнопок, сколько вы хотите в вашей панели инструментов, где бы вы хотите, увидеть пример:

панель просто ViewGroup, Так, в вашей панели инструментов .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> 
+0

Спасибо за ответ, но удаление кода меню Inflater ничего не меняет для меня. Я думаю, что это поведение операционной системы или устройства, когда я запускаю свой код в эмуляторе OS 4.1.1, я не видел эту кнопку настроек. Кстати, скриншот от htc one x os 4.2.2 –

+1

Вы правы htc, если есть по умолчанию, посмотрите по этой ссылке: http://www.androidcentral.com/how-get-rid-screen- menu-bar-htc-one-android-42 –

+0

Посмотрите видео, чтобы избавиться от панели настроек в htc one. Надеюсь, это поможет ... –

Смежные вопросы