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

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • Drakinen

    Drakinen

    1 EYLÜL 2008