Как добавить отступы между элементами меню в android?
![enter image description here]()
У меня есть пункты меню, которые накачаны из res/menu/menu.xml на ActionBar, как мне добавить отступы между элементами меню с помощью андроида?
<item
android:id="@+id/home"
android:showAsAction="always"
android:title="Home"
android:icon="@drawable/homeb"/>
<item
android:id="@+id/location"
android:showAsAction="always"
android:title="Locations"
android:icon="@drawable/locationb"/>
<item
android:id="@+id/preQualify"
android:showAsAction="always"
android:title="Pre-Qualify"
android:icon="@drawable/prequalityb"/>
<item
android:id="@+id/products"
android:showAsAction="always"
android:title="Products"
android:icon="@drawable/productb"/>
Файл Java:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_store_locator, menu);
return true;
}
Ответы
Ответ 1
Найдено решение, добавлено следующие строки в файле styles.xml, и оно сработало!!
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
</style>
<style name="MyActionButtonStyle" parent="AppBaseTheme">
<item name="android:minWidth">20dip</item>
<item name="android:padding">0dip</item>
</style>
Ответ 2
создать гибкий xml. например res/drawable/shape_green_rect.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- Specify a semi-transparent solid green background color -->
<solid android:color="#5500FF66" />
<!-- Specify a dark green border -->
<stroke
android:width="5dp"
android:color="#009933" />
<!-- Specify the margins that all content inside the drawable must adhere to -->
<padding
android:left="30dp"
android:right="30dp"
android:top="30dp"
android:bottom="30dp" />
</shape>
Добавьте это выделение в
android:icon="@drawable/shape_green_rect"
Таким образом, мы можем добавить дополнение в меню.
Спасибо.
Ответ 3
Заполнение Я не знаю, но вы можете добавить margin следующим образом:
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(left, top, right, bottom);
yourItem.setLayoutParams(lp);
Задайте свои значения вместо "слева, сверху, справа, снизу". В этом примере я добавляю маржу к элементу, который вы получите с его идентификатором.
Надеюсь, что это поможет.