2015-11-17 14 views
5

Ich bin derzeit eine einfache Apps mit Android Studio mit der minimalen API Ebene 8, jetzt entwickeln derzeit i android.support.v7.widget.SearchView in meinem LinearLayout in content_main.xml Layout verwendet wird, nicht auf ACTIONBAR, jetzt ist das Problem, i‘ m nicht in der Lage, die Suche als Expanded standardmäßig gesetzt, i für Lösung sucht bereits und ich habe nur so viel:Android Suche Satz standardmäßig erweitert

android:iconifiedByDefault="false"

hier ist mein vollständiger Code für meine Suche

  <android.support.v7.widget.SearchView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/searchView" 
      android:background="#00000000" 
      android:iconifiedByDefault="false" 
      android:layout_weight="1" /> 

aber kein Glück, es funktioniert nicht. kann mir jemand helfen? jede Hilfe würde geschätzt werden. Ich danke dir sehr!

+0

Versuchen Sie dies: 'searchItem.expandActionView();' – activesince93

+0

gibt es eine Lösung, ohne es programmgesteuert zu setzen? Ich möchte, dass es auf das Layout gesetzt wird. :-) Danke!!! – bernzkie

+0

Wenn das Einstellen in 'xml' Datei nicht hilft, dann sollten Sie mit Programmierteil gehen. – activesince93

Antwort

11

Ok, so dass ich das Problem lösen, für jeden, der will. Verwenden Sie die Support-Bibliothek für SearchView, um sie anzupassen:

  <android.support.v7.widget.SearchView 
      android:id="@+id/searchView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 

      app:closeIcon="@drawable/ic_clear" // To set custom clear icon 

      app:searchIcon="@drawable/ic_search" //To set custom search icon 

      app:queryBackground="@color/transparent" // i decided to remove underline so i create a custom background for my searchView 

      app:queryHint="@string/filterHint" //to set a custom Hint 


      app:iconifiedByDefault="false" //And finally, to Expand it as default 

      /> 

wie ich sagte, ich habe Angst, Xml-Layout über Laufzeit über Java-Code zu überschreiben, so dass es zu organisieren und nicht mehr während der Laufzeit zu überschreiben, das ist, wie ich es mache.

Reference

Dank für die Hilfe !!!

1

Um das SearchView standardmäßig zu erweitern, rufen Sie setIconifiedByDefault (false) auf, wenn Sie es initialisieren (zB in onCreate (..). Ich habe es in den meisten Fällen automatisch gefunden, aber wenn nicht einfach Tel. request() auf es zu

3

habe ich den folgenden Code, um die Suche und setzen sie den Cursor in der gleichen Zeit zu erweitern:

final SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getThemedContext()); 
     sv.setIconifiedByDefault(true); 
     sv.setFocusable(true); 
     sv.setIconified(false); 
     sv.clearFocus(); 
     sv.requestFocusFromTouch(); 
Verwandte Themen