簡體   English   中英

Android Material Design工具欄自定義操作菜單未正確對齊

[英]Android Material design toolbar custom action menu is not aligned correctly

我剛剛在我的應用程序中采用了Material Design Toolbar。 我遵循了Chris Banes 博客的指導,讓它在Lollipop之前的設備上工作但是,我似乎無法讓我的動作菜單項垂直居中。

以下是Kitkat設備上的外觀截圖。 Kitkat截圖

如您所見,標題和菜單圖標未對齊。 某種方式標題正確對齊但不是動作菜單和導航圖標。 而是將它們對齊到底部。

這是我的工具欄布局

<android.support.v7.widget.Toolbar
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
     android:layout_height="?android:attr/actionBarSize"
     android:background="?attr/colorPrimaryDark"/>

我嘗試將android:gravity放在布局上,但它沒有做任何事情。

這是我的抽象活動代碼,它將工具欄指定為操作欄

public abstract class BaseMaterialActivity extends ActionBarActivity {

private Toolbar toolbar;

public abstract int getLayoutResources();

public abstract boolean isShowActionBar();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(getLayoutResources());
    if (isShowActionBar()) {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (toolbar != null) {
            setSupportActionBar(toolbar);
            toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_drawer));
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setDisplayShowTitleEnabled(true);
            getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_nav_back);
        }
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    }
}

public Toolbar getToolbar() {
    return toolbar;
}

}

這是我的menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

     <item
         android:id="@+id/action_filter"
         android:icon="@drawable/ic_filter"
         android:orderInCategory="1"
         app:showAsAction="always|withText"
         android:title="@string/filters" />

     <item
         android:id="@+id/action_cart"
         app:actionLayout="@layout/action_cart_icon_layout"
         android:orderInCategory="2"
         app:showAsAction="always"
         android:title="@string/cart" />


 </menu>

任何有關如何使動作菜單垂直居中的幫助或指針都將受到贊賞。 謝謝!

代替

 android:layout_height="?android:attr/actionBarSize"

 android:layout_height="?actionBarSize"

第二個是由AppCompat主題定義的正確高度(默認為56dp,正常橫向為48dp,平板電腦為64dp)。

注意:您編寫的內容僅適用於Android 5.0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM