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

  • BigDawsTv

    BigDawsTv

    20 HAZİRAN 2012
  • Jabari Johnson

    Jabari Johns

    18 Ocak 2008
  • Willie D.

    Willie D.

    16 Aralık 2006