簡體   English   中英

Android導航抽屜上的自定義工具欄

[英]Custom toolbar on android navigation drawer

我是android開發的新手,在使用在android studio中創建的導航抽屜時,確實很難實現更多自定義工具欄(或操作欄)。 當我從模板創建導航抽屜活動時,似乎正在定義工具欄的文件為app_bar_main.xml,此處為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="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        android:title="Press"
        android:titleTextColor="#FFFFFF"
        />

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

<FrameLayout
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</FrameLayout>

如您所見,我試圖更改工具欄的標題(按下)和文本顏色,但是在運行它時,沒有任何變化,它仍然只說MainActivity,這就是我的Navigation抽屜活動。 如何定義該工具欄,以便對其進行自定義(將標題居中,使背景透明,刪除設置按鈕等。我確實需要保持漢堡包圖標以明顯打開抽屜)感謝將來為大家提供幫助! 讓我知道是否需要提供其他代碼

在工具欄的xml內設置值對我也不起作用。 您應該務實地對待他們。 如果您是從Android Studio生成代碼,則將在onCreate內看到它將工具欄設置為ActionBar:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

一種可能的選擇是刪除setSupportActionbar()。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    // setSupportActionBar(toolbar);
    toolbar.setTitle("Testing");
    toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.colorAccent));
    toolbar.inflateMenu(R.menu.menu_main);
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            return false;
        }
    });
}

另一種是調用getSupprtActionBar()

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.colorAccent));
    setSupportActionBar(toolbar);
    if (getSupportActionBar() != null) {
        getSupportActionBar().setTitle("Testing");
    }
}

/**
 * Here is where you would handle the actionbar items. 
 */
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main2, menu);
    return true;
}

暫無
暫無

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

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