Özel Saydam Android ActionBar
Terimini (belgeler, cevapları burada örneğin Android, vb.) ovalama oldum düşündüğüm cevabı oldukça basit bir soru olurdu. Nasıl Google Music YouTube olanlar gibi saydam bir eylem bar (bağlantılar resim örnektir) ulaşmak mı?
Hala bir UI bileşeni yerleşik faydaları genişletmelerini ve video içeriği tam ekran olmasını istiyorum ve kısıtlı/eylem çubuğu ile aşağı itti. Açıkçası tamamen özel bir görünüm kullanabilirim, ama bunun yerine mümkünse ActionBar kaldıraç istiyorum.
Apaçık
<activity
android:name="videoplayer"
android:theme="@android:style/Theme.Holo"
android:launchMode="singleTop"
android:configChanges="keyboardHidden|orientation"/>
Faaliyet
// Setup action bar
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
View customActionBarView = getLayoutInflater().inflate(R.layout.player_custom_action_bar, null);
actionBar.setCustomView(customActionBarView,
new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
R.dimen.action_bar_height));
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
Menü
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@ id/button1"
android:icon="@drawable/button1"
android:showAsAction="always"/>
<item
android:id="@ id/button2"
android:icon="@drawable/button2"
android:showAsAction="always"/>
</menu>
Özel Görünüm ActionBar
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/custom_action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:background="@color/TranslucentBlack">
<!--Home icon with arrow-->
<ImageView
android:id="@ id/home"
android:src="@drawable/home"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
<!--Another image-->
<ImageView
android:id="@ id/image"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:visibility="visible"/>
<!--Text if no image-->
<TextView
android:id="@ id/text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:visibility="gone"/>
<!--Title-->
<TextView
android:id="@ id/title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingLeft="20dp"
android:gravity="center_vertical"/>
</LinearLayout>
CEVAP
Eğer etkinlik tam ekran ama hala bir actionbar Haritayı olmak istiyorsanız, ama bir alfa ile etkinliği onCreate() actionbar için overlaymode isteği var:
getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
//getWindow().requestFeature(WindowCompat.FEATURE_ACTION_BAR_OVERLAY); << Use this for API 7 (v7 support library)
Sonrasonrasenin actionbar bir arka plan drawable ayarlayabilirsiniz setContentView(..) setContentView(..) içerik ayarı için bir sonraki actionbar başlatır beri) Ara:
getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_bg));
res alfa koymak ile drawable/drawable: bir ÅŸekli olabilir
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#BB000000" />
</shape>
Ayrıca bu tamamen programlama yoluyla ColorDrawable oluşturarak yapabilirsin:
getActionBar().setBackgroundDrawable(new ColorDrawable(Color.argb(128, 0, 0, 0)));
Yoksa tabi actionbar tamamen gizleyebilirsiniz; bu durumda bildiriminde kullanımınıza özel bir tema ayarlayabilirsiniz:
@android:style/Theme.NoTitleBar.Fullscreen
ya da arayarak programlı
getActionBar().hide();

Özel görünüm AppCompat ActionBar yok...
Bir özel ilan android UI öğesi XML kul...
Lansman özel android tarayıcı uygulama...
Can't Tema Bulmak.AppCompat.Yeni ...
Nasıl ActionBar Başlık Özel bir yazı T...