web-dev-qa-db-ja.com

アンドロイドでメニュー項目の間にパディングを追加する方法?

enter image description here

メニュー項目をres/menu/menu.xmlからActionBarにインフレートしていますが、Androidを使用してメニュー項目の間にパディングを追加するにはどうすればよいですか?

<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;
}
15
Anil M

解決策が見つかり、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>
36
Anil M

ドローアブル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"

このようにして、メニューにパディングを追加できます。

ありがとう。

8
Md Abdul Gafur