Uygulamamda, bazı durumlarda varsayılan olarak olmayan bir çekilişe ev yukarı yukarı göstergesini ayarladım. Bazen ev yukarı gösterge, değiştirildikten sonra varsayılan simgeye sıfırlanmalıdır.Destek eylem çubuğunu kullanarak varsayılan giriş ekranı nasıl gösterilir?
Ben documentation göre tema varsayılan kullanacak diyor
getSupportActionBar().setHomeAsUpIndicator(0);
kullanarak denedim. Bunu, aşağıdaki hata ile uygulama çöker yaptığınızda:
05-15 11:12:03.160: E/AndroidRuntime(13021): FATAL EXCEPTION: main
05-15 11:12:03.160: E/AndroidRuntime(13021): Process: xxxxx.yyyyyy.zzzzzz, PID: 13021
05-15 11:12:03.160: E/AndroidRuntime(13021): android.content.res.Resources$NotFoundException: Resource ID #0x0
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.content.res.Resources.getValue(Resources.java:1233)
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.content.res.Resources.getDrawable(Resources.java:756)
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.content.Context.getDrawable(Context.java:402)
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.support.v4.content.ContextCompatApi21.getDrawable(ContextCompatApi21.java:26)
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:319)
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:133)
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.support.v7.widget.Toolbar.setNavigationIcon(Toolbar.java:754)
05-15 11:12:03.160: E/AndroidRuntime(13021): at android.support.v7.internal.app.ToolbarActionBar.setHomeAsUpIndicator(ToolbarActionBar.java:176)
05-15 11:12:03.160: E/AndroidRuntime(13021): at xxxxx.yyyyyy.zzzzzz.updateHomeIndicator(aaaaa.java:1711)
Eve göstergesi yukarı olarak özel bir set asla eğer, geri ok ince göründüğünden tema varsayılan değer, kurulumunun doğru biliyorum. Ben setHomeAsUpIndicator(0)
çağrıyı denemeden önce setDisplayHomeAsUpEnabled(true)
arıyorum.
Varsayılan ev kaynağım kadar önceliği varlık göstergesi olarak projemde her zaman kopyalayabildiğimi ve bu öğeyi doğrudan kullanabileceğimi biliyorum, ancak mümkün olduğunca bu geçici çözümü kullanmaktan kaçınmak istiyorum.
Teşekkürler!
Zach
Düzenleme:
Ben de hiçbir simgenin sonuçlanır
getSupportActionBar().setHomeAsUpIndicator(null);
olursa olsun görüntülenen çalıştılar.
Neden boole değeri yerine 0 geçiyorsunuz? –
setHomeAsUpIndicator() API'si, bir çekilebilir veya bir int kaynak kimliği değeri gerektirir. Bunu gerçekleştiren (bildiğim kadarıyla) bir boolean paramater API'sı yoktur. – Zach
@CarlosJ daha yakın okudu, işe yaramalı. dokümantasyon devletler: 'Bu yönteme 0 başarılı olursa bu belgelere göre mükemmel geçerli used.', tema varsayılan çekilebilir olacak, ancak özel bir simge ayarlamak, sen arayamayacağımı görünür Onu varsayılan sıfıra yeniden ayarlamak için sıfır ile sıfırlayın. Bu API ile bir köşe davası olmalı. –