2016-07-31 5 views
0

マイActivityコード:アンドロイドDrawerLayout

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Overview overview = new Overview(); 
    Intent intent = getIntent(); 

    user.setUserName(intent.getStringExtra("Username")); 

    setContentView(R.layout.activity_second); 
    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.mycontainer, overview) 
       .commit(); 
    } 
    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayShowTitleEnabled(false); 

    toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    drawerLayout.addDrawerListener(toggle); 
    toggle.syncState(); 

    NavigationView navView = (NavigationView) findViewById(R.id.navview); 
    navView.setNavigationItemSelectedListener(this); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.actionbar_menu, menu); 
    return true; 
} 

// Toggle function for the navigational drawer 
@Override 
public boolean onOptionsItemSelected(MenuItem item){ 
    if(toggle.onOptionsItemSelected(item)){ 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

この行を追加した後:

getSupportActionBar().setDisplayShowTitleEnabled(false); 

私の引き出しがdissapeared。私が残したのは私のactionbar_menuです。

私のXMLは:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    tools:context=".SecondActivity.SecondActivity" 
    android:id="@+id/drawer_layout"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:id="@+id/mycontainer" 
     > 
     <android.support.v7.widget.Toolbar 
      android:id="@+id/my_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      android:elevation="4dp" 
      android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     /> 

    </LinearLayout> 
    <android.support.design.widget.NavigationView 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="start" 
     android:layout_marginTop="?attr/actionBarSize" 
     android:id="@+id/navview" 
     app:menu="@menu/nav_menu" 
     app:headerLayout="@layout/nav_header" 
     > 

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

</android.support.v4.widget.DrawerLayout> 

だから、基本的に、どのように私は私のアクションバー、私のDrawerLayoutと動作するようにカスタムタイトルの両方を得るのですか? showTitleEnabledを無効にしてカスタムタイトルを設定する必要がありますが、メニューが消えてしまいます。どうすればこの問題を解決できますか?

答えて

0

カスタムツールバーのレイアウトを作成し、TextViewを入れて、あなたのXMLに代わりの<android.support.v7.widget.Toolbar>

と、カスタムツールバーのレイアウトに含めることができます。

+0

これはナビゲーションの引き出しを元に戻しません。新しいカスタムタイトルを追加するだけです。 – user3117628

+0

'getSupportActionBar()。setDisplayShowHomeEnabled(true);'を使うことができます。 – SadeghAlavizadeh

0
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

がありませんでした。これで修正されます

関連する問題