android v7包里的Toolbar,怎麼定製圖標、字體居中的效果?

我的項目中使用V7包裡面的Toolbar實現所有頁面的標題欄,代碼如下:Toolbar toolbar = (Toolbar) findViewById(R.id.common_toolbar);

toolbar.setTitle("交易清單");

toolbar.setTitleTextColor(Color.parseColor("#FFFFFF"));

setSupportActionBar(toolbar);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

頁面顯示效果如下圖:

我的問題是:

1)怎樣修改左邊這個小箭頭的顏色?

2)怎樣修改右邊這三個點的顏色、怎樣把這三個點替換成我自己的圖標?

3)怎樣讓「交易清單」這4個字居中顯示?


(1)在你的Toolbar里添加這樣的屬性:

app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

app:popupTheme——

有時候我們有需求:

ActionBar文字是白的,ActionBar Overflow彈出的是白底黑字

讓ActionBar文字是白的,那麼對應的theme肯定是Dark。

可是讓ActionBar彈出的是白底黑字,那麼需要Light主題。

這時候popupTheme就派上用場了。

android:theme 與 app:theme——

在AppCompat v21里,提供了一個快速方便的方法設置Toolbar的主題,使用app:theme。

而新版本22.1.x中,AppCompat 允許對 Toolbar 使用android:theme代替app:theme。

最好的一點是:它會自動繼承父視圖的theme ,並且兼容所有APIv11以上的設備


你用了setSupportActionBar的方法。我個人的做法是完全摒棄ActionBar。首先設置Theme為AppCompat.NoActionBar。

問題(1)toolbar可以通過設置setNavigatetionIcon,傳入一個icon替換掉最左邊的小箭頭,但是需要自己實現其動作。

問題(2)在你自己的Theme定義中加入&@style/OverflowButtonStyle&,然後&