2013-08-06 27 views
7

Sorun şu: Sorunlarımdan birinde, eylem çubuğum için özel bir düzenime ihtiyacım vardı ve bunu gerektiği gibi yapmanın tek yolu şeffaf olmasıydı. Ekranımdaki ActionBar. Bunu yapmak için ActionBar'ı bindirme olarak işaretledim ve işlem çubuğu arka planını saydam olarak belirttim. Bu, Android> = 15 kullanıldığında çalışır, ancak 14 ve altı sürümlerde ActionBar alt sınırını korur. Çıkarmak için hiçbir şey denemedim, boşuna. API 16 günü ActionBar on API 14ActionBar sınırı, üst üste bindirme sırasında kaybolmayacak

: Eylem Çubuğu beklenir: ActionBar on API 16

tasarım şudur

API 14 Açık: Burada

bir resim daha net görmektir şeffaf ve kaplamalı modda olun ve arkasında bir arka plan var + logo

Bazı kesinlikler: ABS kullanıyorum, ancak v7 destek kütüphanesine geçiş yapmak aynı şeyin yaptığı gibi sorunun kaynağı gibi görünmüyor.

Bu alt sınırın nasıl kaldırılacağı konusunda bir fikri olan var mı?

+0

Eh Ben farklı versiyonu '.png' yorumlamak konusunda hepsi bu sanırım tema Theme.Sherlock ile Activity kullanılan Görüntüler. Görüntünün arka planını arka planın eğimine benzeyecek şekilde ayarlayabilirsiniz. Hipotezimi araştırıyorum. – g00dy

+0

Gerçek şu ki, ActionBar'ın altındaki görüntünün görülebilmesi için saydam (ve üst üste) olması gerekiyordu. –

+0

Tamam, bunu sormama izin verin, yatay çizgi sadece API 16'da sadece kısmen yok olur - uzun (genişlikte) görüntüdür? Ayrıca fark ettim ki, API 14'te, logonun arkasındaki çizgiyi ikiye katlıyorsunuz, ki bu sizin istediğiniz gibi yayılıyor, ancak ikinci satır görünür. Bu beni meraklandırıyor - kaynakları buraya yapıştırıp onları görebiliyorsunuz - logo için görüntü (boyutlarının olduğu döşemeli bir arka plan üzerinde), kullandığınız resim (gradient.xml veya normal görüntü gradyanı) Bu bir sorun değilse ActionBar + tüm 'xml'? – g00dy

cevap

3

tavsiyesine uyarak ve Yorumda Luksprog tarafından yapılan testte, bu sayfa için işlem çubuğumda Theme.Sherlock (Theme.Sherlock.Light yerine) kullandım ve eski temamdan ihtiyacım olan ayarları kopyaladım. Bu problemi çözmüş görünüyor, fakat kaynağından tamamen emin değilim. Bunu görecek kişilere verebileceğim tek tavsiye, Theme.Sherlock'u kullanmak olacaktır.

0

Sen hide() yöntemini çağırarak işlem çubuğunu gizleyebilirsiniz:

ActionBar actionBar = getSupportActionBar(); 
actionBar.hide(); 

Yoksa kalıcı olarak gizlemek istiyorsanız Manifest'inizde bu ayarlayabilirsiniz:

<activity 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
> 
+0

Eylem çubuğumu tamamen gizlemek istemiyorum, çünkü hala düğmeye ihtiyacım var. Ben sadece tamamen şeffaf yapmak istiyorum (16+ ama daha önce değil). –

+0

@Valentin Rocher: Şunun gibi bir şey ifade ediyorsunuz: http://stackoverflow.com/questions/13726214/transparent-actionbar-custom-tabcolor –

+0

yup, ancak bu çözüm için tese çözümlerinin hiçbiri işe yaramadı –

3

Davranışı göstermek için simple activity yapmayı denedim, ancak bunu yapmayı başaramadım.

android:theme="@style/Theme.Sherlock 

ve (onCreate() yönteminde) bindirme yapmak için:

requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); // Window from com.actionbarsherlock.view 
//... 
setContentView(content); 
ActionBar ab = getSupportActionBar(); 
ab.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
İlgili konular