I have a menu as follows:
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_gravity="center">
<item
android:id="#+id/actionOrdenesMenuPedido"
android:orderInCategory="1"
android:title="#string/item_ordenes"
android:scaleType="fitStart"
android:icon="#mipmap/ic_carrito"
app:showAsAction="always"/>
<item
android:id="#+id/tituloMenuPedido"
android:orderInCategory="2"
android:title="#string/item_orden"
android:textAllCaps="false"
android:textAppearance="?android:attr/textAppearanceLarge"
android:enabled="false"
app:showAsAction="always"/>
<item
android:id="#+id/actionGuardarMenuPedido"
android:orderInCategory="3"
android:title="#string/item_guardar"
android:icon="#mipmap/ic_guardar"
app:showAsAction="always"/>
<item
android:id="#+id/actionCancelarMenuPedido"
android:orderInCategory="4"
android:title="#string/btn_cancelar"
android:icon="#mipmap/ic_eliminar"
android:scaleType="fitEnd"
app:showAsAction="always"/>
</menu>
I have retired the title as follows:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
and when the application works it looks like this:
My question is: Is there a way that the items are not on the left, that is, distributed evenly across the width?
Thanks in advance
Related
I'm trying to get a menu layout where I have 2 icons next to each other which both have dropdown options. Currently it's being annoying and putting all the items in the default option menu like this:
image
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:title="#string/menu_sort"
android:id="#+id/menu_sort"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_sort_24">
<item android:title="Distance"/>
<item android:title="Salary"/>
<item android:title="Date Posted"/>
</item>
<item
android:title="#string/menu_filter"
android:id="#+id/menu_filter"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_filter_list_24">
<item android:title="Freelance"/>
<item android:title="Zero Hour"/>
<item android:title="Part Term"/>
<item android:title="Internship"/>
</item>
</menu>
Maybe this can help....
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:title="#string/menu_sort"
android:id="#+id/menu_sort"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_sort_24">
<menu>
<item android:title="Distance"/>
<item android:title="Salary"/>
<item android:title="Date Posted"/>
</menu>
</item>
<item
android:title="#string/menu_filter"
android:id="#+id/menu_filter"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_filter_list_24">
<menu>
<item android:title="Freelance"/>
<item android:title="Zero Hour"/>
<item android:title="Part Term"/>
<item android:title="Internship"/>
</menu>
</item>
</menu>
You add <menu></menu> inside an item and add submenu items there....
Problem: I can not change a menu to lowercase letters.
I have a menu as indicated below:
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="#+id/actionOrdenesMenuPedido"
android:orderInCategory="1"
android:title="#string/item_ordenes"
android:scaleType="fitStart"
android:icon="#mipmap/ic_carrito"
app:showAsAction="always"/>
<item
android:id="#+id/tituloMenuPedido"
android:orderInCategory="2"
android:title="#string/item_orden"
android:textAllCaps="false"
android:textAppearance="?android:attr/textAppearanceLarge"
android:enabled="false"
app:showAsAction="always"/>
<item
android:id="#+id/actionGuardarMenuPedido"
android:orderInCategory="3"
android:title="#string/item_guardar"
android:icon="#mipmap/ic_guardar"
app:showAsAction="always"/>
<item
android:id="#+id/actionCancelarMenuPedido"
android:orderInCategory="4"
android:title="#string/btn_cancelar"
android:icon="#mipmap/ic_eliminar"
android:scaleType="fitEnd"
app:showAsAction="always"/>
</menu>
And it is invoked in the following way:
#Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_pedido, menu);
return true;
}
And the only item that displays text keeps the letters in uppercase even though they are disabled. (android:textAllCaps="false").
Any idea how to fix this?
Try this :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Holo">
<item name="android:actionMenuTextAppearance">#style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
</style>
</resources>
Hope it helps !
My MenuItem:
How to right align text of MenuItem in Toolbar, Icon in first next text, like this:
code of menu_setting.xml for MenuItem:
<?xml version="1.0" encoding="utf-8"?>
<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=".MainActivity">
<item
android:title="Main Menu"
app:showAsAction="always"
android:icon="#drawable/ic_more_vert">
<menu>
<item
android:id="#+id/about_app"
android:orderInCategory="100"
android:title="About app"
android:icon="#drawable/ic_info"
app:showAsAction="never" />
<item
android:id="#+id/contact_us"
android:orderInCategory="100"
android:title="Contact us"
android:icon="#drawable/ic_email"
app:showAsAction="never" />
</menu>
</item>
</menu>
Thanks in advance :)
<?xml version="1.0" encoding="utf-8"?>
<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=".activities.MainActivity">
<item
android:id="#+id/action_notification1"
android:icon="#android:drawable/btn_dropdown"
android:title="action_notification"
app:showAsAction="always">
<menu>
<item
android:id="#+id/profile"
android:icon="#android:drawable/ic_menu_edit"
android:orderInCategory="100"
android:title="PROFILE" />
<item
android:id="#+id/c"
android:icon="#android:drawable/ic_menu_edit"
android:orderInCategory="100"
android:title="COMPLETED TRIPS" />
</menu>
</item>
</menu>
You can use girdle for align text of MenuItem in Toolbar:
dependencies {
compile 'com.lucasurbas:guidelinescompattoolbar:1.0.0'
}
This is how it should look like:
Change your style.xml code like this:
<style name=”Theme.GuidelinesCompat.Light.DarkToolbar”
parent=”Theme.AppCompat.Light.DarkActionBar”>
...
<!— Toolbar styles -->
<item name=”toolbarStyle”>#style/Custom.Widget.Toolbar</item>
<item name=”toolbarNavigationButtonStyle”>
#style/Custom.Widget.Toolbar.Button.Navigation</item>
</style>
<style name=”Custom.Widget.Toolbar” parent=”Widget.AppCompat.Toolbar”>
<item name=”maxButtonHeight”>48dp</item>
<item name=”android:paddingLeft”>
#dimen/toolbar_horizontal_padding</item>
<item name=”android:paddingRight”>
#dimen/toolbar_horizontal_padding</item>
<item name=”contentInsetStart”>
#dimen/first_keyline</item>
</style>
<style name=”Custom.Widget.Toolbar.Button.Navigation”
parent=”Widget.AppCompat.Toolbar.Button.Navigation”>
<item name=”android:minWidth”>48dp</item>
</style>
Here are necessary resources:
<resources>
<dimen name=”first_keyline”>24dp</dimen>
<dimen name=”second_keyline”>80dp</dimen>
<dimen name=”toolbar_horizontal_padding”>12dp</dimen>
</resources>
layout/layout.xml
<android.support.v7.widget.Toolbar
android:id=”#+id/toolbar”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:minHeight=”?attr/actionBarSize”
android:elevation=”6dp”
android:background=”#color/colorPrimary”
app:navigationIcon=”#drawable/ic_menu_white_24dp”
app:contentInsetStart=”#dimen/second_keyline”
app:theme=”#style/Theme.GuidelinesCompat.DarkToolbar”
app:popupTheme=”#style/Toolbar.Popup.AppCompat” />
Try this it helps you.
You have to try like this
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="#+id/about"
android:title="About"
android:gravity="right" />
<item android:id="#+id/help"
android:title="Help"
android:gravity="right" />
</menu>
I downloadet a template and I have this problem:
https://gyazo.com/5161740a619bacb8aa8bd430a3e40b2d
The "Inbox" button is too close to the top and it looks bad.
I want to set a marginTop from 10dp, is that possible?
Here is my "drawermenu.xml"
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="Inbox"
android:id="#+id/nav_item_inbox"
android:icon="#drawable/inbox" />
<item android:title="Sent"
android:id="#+id/nav_item_sent"
android:icon="#drawable/sent"/>
<item android:title="Drafts"
android:id="#+id/nav_item_draft"
android:icon="#drawable/draft"/>
<item android:title="Others">
<menu>
<item
android:title="Spam"
android:icon="#drawable/spam"/>
<item
android:title="Bin"
android:icon="#drawable/bin"/>
</menu>
</item>
<group android:id="#+id/group_settings_id">
<item android:title="Settings"
android:icon="#drawable/settings"/>
<item android:title="Help"
android:icon="#drawable/help"/>
</group>
</menu>
Please help me. I use the context menu in Action Bar (CAB). Listing menu has the following code
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="#+id/add_cxtmenu"
android:icon="#android:drawable/ic_menu_add"
android:showAsAction="always"
android:orderInCategory="1"
android:title="edit"/>
<item/>
<item
android:id="#+id/edit_cxtmenu"
android:icon="#android:drawable/ic_menu_edit"
android:showAsAction="always"
android:orderInCategory="2"
android:title="edit"/>
<item
android:id="#+id/delete_cxtmenu"
android:icon="#android:drawable/ic_menu_delete"
android:showAsAction="always"
android:orderInCategory="3"
android:title="delete"/>
</menu>
So the menu should consist of three items. Each item has a parameter android:showAsAction="always"
In the end, I had to get three icons on the panel ActionBar. But in reality, I have two icons together into a button overflowbutton. How to fix it? I can not find the answer to this problem.
Theme my app
<style name="AppTheme" parent="#style/Theme.AppCompat.Light">
Try this.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="#+id/add_cxtmenu"
android:icon="#android:drawable/ic_menu_add"
app:showAsAction="always"
android:orderInCategory="1"
android:title="edit"/>
<item/>
<item
android:id="#+id/edit_cxtmenu"
android:icon="#android:drawable/ic_menu_edit"
app:showAsAction="always"
android:orderInCategory="2"
android:title="edit"/>
<item
android:id="#+id/delete_cxtmenu"
android:icon="#android:drawable/ic_menu_delete"
app:showAsAction="always"
android:orderInCategory="3"
android:title="delete"/>
</menu>
Try to change this:
android:showAsAction="always"
For this:
app:showAsAction="always"
Also you couldn´t have enought room. Try to remove your title or do it small.