使用Toolbar碰到的問題

先在BaseActivity中配置toolbar

setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

再配置向上箭頭的點擊事件(正確寫法):

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId())
        {
            //點擊向上鍵
            case android.R.id.home:
                onBackPressed();
                break;
        }
        return super.onOptionsItemSelected(item);
    }

錯誤原因:

之前系統自動生成的代碼中使用的是 case R.id.home,但是運行的時候點擊沒有反應,改為android.R.id.home之后出現效果,不知道是什么原因…

另外一種解決辦法:

在Mainfest中當前Activity聲明:android:parentActivityName="MainAcitivity(你需要返回的activity的名字)"
列如:

<activity
            android:theme="@style/AppTheme.NoActionBar"
            android:name=".ui.NoteDetailsActivity"
            android:parentActivityName=".ui.MainActivity"></activity>

問題:

想在toolbar中使用系統自帶的圖標,如何設置?

解決辦法:

在Java代碼中的使用方法:

MenuItem.setIcon(android.R.drawable.ic_menu_save);

在xml文件中的使用方法:

android:icon="@android:drawable/ic_menu_save"

系統圖標大全:

http://blog.csdn.net/jishu360/article/details/8540026


問題:

使用系統自帶圖標時,圖標的背景顏色如何調整?
(圖中的分享圖標就是使用的系統自帶圖標)


軟件截圖.png

解決辦法:


問題:

當menu.xml中的searchview代碼為

<item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="always"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="Search"/>

運行效果為:


軟件截圖.png

而代碼修改為(將app:showAsActio的值修改為"always|collapseActionView"):

<item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="Search"/>

運行效果為(搜索圖標改變):

軟件截圖.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容