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

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • Dave Wallace

    Dave Wallace

    27 Kasım 2007
  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007