SORU
14 EKİM 2012, Pazar


Nasıl ActionBar özel görüntülemek için?

Actionbar (bunun için ActionBarSherlock kullanıyorum) özel arama görüntülemek istiyorum.

Anladım:

enter image description here

Ama özel düzen (edittext alanı) mevcut tüm genişliği işgal için yapmak istiyorum.

Önerilen here özel düzeni uygulamaya çalıştım.

Benim özel düzen search.xml vardır:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="?attr/actionButtonStyle"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_gravity="fill_horizontal"
    android:focusable="true" >

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|fill_horizontal" >

        <EditText
            android:id="@ id/search_query"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center"
            android:background="@drawable/bg_search_edit_text"
            android:imeOptions="actionSearch"
            android:inputType="text" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|center_vertical"
            android:src="@drawable/ic_search_arrow" />

    </FrameLayout>

</LinearLayout>

Ve MyActivity:

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setIcon(R.drawable.ic_action_search);

LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.search, null);

actionBar.setCustomView(v);

Nasıl özel düzen actionBar tüm genişliği işgal etmeye yapabilir miyim?

Yardım, lütfen.

CEVAP
14 EKİM 2012, Pazar


Bunun için bir hile var. Tüm yapmanız gereken bir ana konteyner olarak LinearLayout yerine RelativeLayout kullanmaktır. Önemli android:layout_gravity="fill_horizontal" bunun için ayarlayabilirsiniz. Bu şekilde olması gerek.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • glowpinkstah

    glowpinkstah

    16 Mayıs 2006
  • Videogamerz | Call of Duty

    Videogamerz

    5 NİSAN 2012