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

  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • njhaley

    njhaley

    24 NİSAN 2006
  • The Brister

    The Brister

    10 ŞUBAT 2008