Android:导航不显示抽屉符号

问题描述:

我正在尝试编程导航抽屉面板,但我不知道为什么汉堡符号不显示。我已经在这里看过很多类似的帖子,但我找不到解决方案。 我的代码是:Android:导航不显示抽屉符号

public class MainActivity extends AppCompatActivity 
     implements NavigationView.OnNavigationItemSelectedListener { 

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

    setContentView(R.layout.activity_main); 

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


    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    toggle = new ActionBarDrawerToggle(
      this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    drawer.addDrawerListener(toggle); 
    toggle.syncState(); 

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
    navigationView.setNavigationItemSelectedListener(this); 
(...) 

和我做了以下的进口:

import android.support.v4.view.GravityCompat; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarDrawerToggle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.support.design.widget.NavigationView; 

你能帮帮我吗?

+0

试试这个toolbar.setNavigationIcon(R.drawable.ic_hamburger); –

+0

@ConstantinCerberus,没有工作.. – porthfind

其实我在我的工作是我删除了导致与你的相同的情况下,这是失踪的汉堡包图标的动作栏。
如果采取积极的态度,这导致了一种更好的方式来自定义图标,如你所愿。只需在app_bar_home中使用ImageView即可。

<ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/toggle"       
     android:contentDescription="@string/image_for_toolbar" 
     android:id="@+id/iV1"    
     /> 

,并在您MainActivity.java/ NavigationDrawer.java

final ImageView imageView = (ImageView) findViewById(R.id.iV1); 
imageView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       drawer.openDrawer(GravityCompat.START); 

      } 
     }); 

现在复制此,这种观点将作为一个导航栏切换。
最好的事情是你可以使用自定义的图标或从互联网上获取图标。
顺便说一句,不要忘了调整ImageView将它放在你想要的地方。

我面临类似于您的问题。在我的情况下,我简单地添加这行代码:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

希望解决您的问题。