2016-10-01 29 views
0

我在我的應用程序上有一個工具欄小部件,帶有4個圖標,我想要將這些圖標之間的空間大小更改爲相同。如何更改Android上的小部件工具欄圖標之間的空間大小?

形式是: current design

是這樣的: wanted design

menu.xml文件

<?xml version="1.0" encoding="utf-8"?> 

<item 
    android:id="@+id/action_home" 
    android:orderInCategory="100" 
    android:icon="@drawable/white_home" 
    android:title="@string/action_settings" 
    app:showAsAction="always" /> 

<item 
    android:id="@+id/action_profile" 
    android:orderInCategory="101" 
    android:icon="@drawable/white_profile" 
    android:title="@string/action_settings" 
    app:showAsAction="always" /> 

<item 
    android:id="@+id/action_inbox" 
    android:orderInCategory="102" 
    android:icon="@drawable/white_inbox" 
    android:title="@string/action_settings" 
    app:showAsAction="always" /> 

<item 
    android:id="@+id/action_contacts" 
    android:orderInCategory="103" 
    android:icon="@drawable/white_contacts" 
    android:title="@string/action_settings" 
    app:showAsAction="always" /> 

app_bar_main.xml提前

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 

<include layout="@layout/content_main" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|end" 
    android:layout_margin="@dimen/fab_margin" 
    app:srcCompat="@drawable/ic_fab_plus" 
    app:backgroundTint="@color/colorPrimary" /> 

感謝。

+0

@方大同JOMAA請在這裏SENS XML文件 –

+0

安置自己的*佈局*代碼。 –

回答

0

這是一個example你如何破解你的工具欄放置物品填充其寬度。

主要的一點是,你需要聲明中,你重寫addView方法你自己的工具欄的繼承者:

@Override 
public void addView(View child, ViewGroup.LayoutParams params) { 
    if (child instanceof ActionMenuView) { 
     params.width = LayoutParams.MATCH_PARENT; 
    } 
    super.addView(child, params); 
} 

修訂

如果你希望能夠行動之間修改空間通過xml的項目,不想擴展Toolbar.class,也可以使用你的工具欄作爲操作欄(我告訴你打電話setSupportActionBar()然後can chang你e應用主題styles.xml資源文件:

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item> 
</style> 

<style name="MyActionButtonStyle" parent="AppBaseTheme"> 
    <item name="android:minWidth">20dp</item> 
    <item name="android:padding">0dp</item> 
</style> 
+0

謝謝邁克爾,但我想知道是否可以通過編輯XML佈局或創建自定義工具欄樣式來實現。 –

+0

@KhalilJomaa編輯回答 –

+0

@KhalilJomaa你有幫助嗎? –

相關問題