Materialdrawer: setDisplayHomeAsUpEnabled (true) não leva a lugar nenhum

Criado em 28 fev. 2015  ·  5Comentários  ·  Fonte: mikepenz/MaterialDrawer

Chamei setDisplayHomeAsUpEnabled (true) e a seta está aparecendo, mas não vai a lugar nenhum.

Como posso fazer isso

obrigado.

question

Comentários muito úteis

Primeiro você precisa inicializar a barra de ferramentas:

Barra de ferramentas da barra de ferramentas = (Barra de ferramentas) findViewById (R.id.toolbar);

setSupportActionBar (barra de ferramentas);

em seguida, chame o botão de retorno em actionBar:

getSupportActionBar (). setDisplayHomeAsUpEnabled (true);

getSupportActionBar (). setDisplayShowHomeEnabled (true);

@Sobrepor
public boolean onSupportNavigateUp () {
onBackPressed ();
return true;
}

Todos 5 comentários

Eu consegui o mesmo adicionando a seguinte linha no arquivo Manifest
android: name = "android.support.PARENT_ACTIVITY"
android: value = ". MainActivity" />

Por favor, me sugira se houver outra maneira de fazer isso.

@vishnudbimcs, você quer dizer a chave de gaveta? a própria biblioteca fornecia funcionalidade básica de alternância de gaveta. você também pode obter o objeto de volta do resultado.

Esta biblioteca lida com o MaterialDrawer e apenas com o material básico em torno dele. Portanto, para casos especiais com a barra de ferramentas ou o ActionBarToggler, apenas implemente-o como faria se criasse um aplicativo normal. ;)

Olá
Eu tenho uma atividade A com a gaveta e dentro dela eu inflo um fragmento A.
A gaveta tem .withActionBarDrawerToggle (true) e eu não configurei getSupportActionBar (). SetDisplayHomeAsUpEnabled (true) na atividade
Então, dentro da Activity A y substitua o fragmento A pelo fragmento B, e eu quero mostrar o "backbutton" ao invés do botão da gaveta, após inflar o fragmento BI fazer:

result.getActionBarDrawerToggle().setDrawerIndicatorEnabled(false);
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);

E o botão de fundo é mostrado, porém se eu pressioná-lo, não faz nada. Eu também fiz a Substituição de atividade em OnbackPressed:

 <strong i="12">@Override</strong>
  public void onBackPressed() {
}

Mas nunca é atingido.
Também adicionei onOptionsItemselected, mas novamente nada acontece.

Então testei mais coisas.
1) Tirei a gaveta e só usei o

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Resultados: botão Voltar no Fragmento A e B e funciona.

2) Usando a gaveta, mas NÃO alterando o result.getActionBarDrawerToggle (). SetDrawerIndicatorEnabled (false);
ao carregar o Fragmento B
Resultado: O ícone do Hambúrguer nos Fragmentos A e B

3) Configurando getSupportActionBar (). SetDisplayHomeAsUpEnabled (true); no init do aplicativo,
e result.getActionBarDrawerToggle (). setDrawerIndicatorEnabled (false); ao carregar o Fragmento B
Resultado: hambúrguer no Fragmento A, nada mostrado no Fragmento B

Não sei o que está acontecendo aqui ...

@gpulido leia o seguinte sobre este comportamento

https://github.com/mikepenz/MaterialDrawer/issues/65

Obrigado

Primeiro você precisa inicializar a barra de ferramentas:

Barra de ferramentas da barra de ferramentas = (Barra de ferramentas) findViewById (R.id.toolbar);

setSupportActionBar (barra de ferramentas);

em seguida, chame o botão de retorno em actionBar:

getSupportActionBar (). setDisplayHomeAsUpEnabled (true);

getSupportActionBar (). setDisplayShowHomeEnabled (true);

@Sobrepor
public boolean onSupportNavigateUp () {
onBackPressed ();
return true;
}

Esta página foi útil?
0 / 5 - 0 avaliações