SORU
19 Temmuz 2011, Salı


Ö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
19 Temmuz 2011, Salı


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();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • Floortile83

    Floortile83

    16 Ocak 2010
  • Helder Barreto

    Helder Barre

    22 Mayıs 2006