メニュー項目を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;
}
解決策が見つかり、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>
ドローアブル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"
このようにして、メニューにパディングを追加できます。
ありがとう。