Icon / title für actionbar mit erweitertem SearchView entfernen?

Ich habe ein neues Projekt erstellt, das auf api 11 und höher zielt. Ich habe eine Aktivität, wo ich möchte, dass ein SearchView standardmäßig erweitert wird:

@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.menu_search, menu); MenuItem searchItem = menu.findItem(R.id.action_search); mSearchView = (SearchView) searchItem.getActionView(); mSearchView.setIconifiedByDefault(false); } 

Was funktioniert, aber ich möchte keine ikon oder titel auf der actionbar, nur die suchansicht. Ich habe versucht, meinen Titel und meine Ikone loszuwerden, indem ich:

  • So entfernen Sie Grenze / Schatten von Lutscherknöpfen
  • Wie verwende ich sharedPreferences außerhalb einer Aktivität?
  • Android Entwicklung in Micromax Funbook Tablet
  • Ändern Sie den Stil von android MediaController
  • Versuche, mit ExoPlayer zu arbeiten - viele Unbekannte
  • Erweiterbare Listenansicht Android, benutzerdefinierte Drawables
  •  getActionBar().setDisplayHomeAsUpEnabled(false); getActionBar().setDisplayShowTitleEnabled(false); getActionBar().setIcon(android.R.color.transparent); 

    Aber meine Actionbar hat noch diese Polsterung links von der Suchansicht:

    Bildbeschreibung hier eingeben

    Gibt es einen Weg, um es loszuwerden?

    Vielen Dank

    ——– Bearbeiten ——————–

    Hier ist meine Tätigkeit in vollem Umfang:

     public class GreatAndroid extends FragmentActivity { private SearchView mSearchView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayShowHomeEnabled(false); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.menu_search, menu); MenuItem mi = menu.findItem(R.id.action_search); mSearchView = (SearchView) mi.getActionView(); mSearchView.setIconifiedByDefault(false); return true; } } 

    Und hier ist das Menü xml:

     <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_search" android:title="@string/search" android:icon="@android:drawable/ic_menu_search" android:showAsAction="always" android:actionViewClass="android.widget.SearchView" /> </menu> 

  • Card.io Scannen Sie nicht nicht gehobene Digit Kreditkarten
  • Android Text über Bild
  • Wie man kennt, antwortet der Anruf (Was ist der Telefonzustand, wenn er den Anruf anhebt)
  • SparseArray, überprüfen Sie, ob Schlüssel vorhanden ist
  • Mehrere Tabellen SQLite DB Adapter (s) in Android?
  • Listview itemclick funktioniert nicht
  • 3 Solutions collect form web for “Icon / title für actionbar mit erweitertem SearchView entfernen?”

    Obwohl das Icon transparent ist, nimmt es immer noch den Platz ein:

     getActionBar().setIcon(android.R.color.transparent); 

    Entfernen Sie diese Zeile und fügen Sie hinzu:

     getActionBar().setDisplayShowHomeEnabled(false); 

    Jetzt solltest du das SuchView aufnehmen.

    Aktionselemente, die zusammengebrochen werden können, haben eine maximale Breite. Der einzige Workaround, den ich mir vorstellen kann, ist folgendes:

     public class GreatAndroid extends FragmentActivity { private SearchView mSearchView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayShowHomeEnabled(false); getActionBar().setDisplayShowTitleEnabled(false); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.menu_search, menu); MenuItem mi = menu.findItem(R.id.action_search); mSearchView = (SearchView) mi.getActionView(); mSearchView.setIconifiedByDefault(false); // You can use Display.getSize(Point) from API 13 onwards. // For API 11 and 12, use Display.getWidth() final Point p = new Point(); getWindowManager().getDefaultDisplay().getSize(p); // Create LayoutParams with width set to screen's width LayoutParams params = new LayoutParams(px, LayoutParams.MATCH_PARENT); mSearchView.setLayoutParams(params); return true; } } 

    Obwohl es so aussieht, dass es noch Platz auf der linken Seite gibt, kannst du mSearchView.setBackgroundColor(Color.RED); Zu sehen, dass es wirklich nicht gibt

    Ich konnte nicht @ Vikram's Awnser zu arbeiten, aber ich fand, dass eine andere Antwort von Stack Overflow:

    Öffnen Sie Ihre styles.xml-Datei und fügen Sie unten Codes in Ihrem Actionbar-Stil hinzu

     <item name="android:displayOptions">showHome|homeAsUp|showTitle</item> <item name="displayOptions">showHome|homeAsUp|showTitle</item> <item name="android:icon">@android:color/transparent</item> <--this do the magic! 

    P / s: Ich benutze Actionbar Sherlock und das funktioniert ganz gut

    (Siehe Entfernen von Symbol / Logo aus der Aktionsleiste auf Android- Arbeit)

    In Bezug auf die linke Polsterung können Sie versuchen, collapseActionView

    Hier ist ein Beispielmenü:

     <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:icon="@android:drawable/ic_menu_search" android:title="@string/search_hint" app:actionViewClass="android.support.v7.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" /> </menu> 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.