Richten Sie die Symbolleisten der ActionBar-Navigation über dem Tab-Text aus?

Die App hat eine ActionBar, und die ActionBar hat Navigations-Tabs, die jeweils Text enthalten. Ich muss zusätzlich zu dem Text Icons zu den Tabs hinzufügen.

Ich habe die Symbole mit ActionBar.Tab.setIcon(drawable) erfolgreich hinzugefügt, aber das Symbol zeigt links neben dem Tab-Text.

Wie kann ich das Tab-Symbol verschieben, so dass es vor dem Navigations-Tab-Text ist?

(Ich bin mit ActionBarSherlock, aber stellen Sie die Lösung für diese Arbeit über native und ABS-Implementierungen)

  • Wie man den Hintergrund von ActionMode der ActionBar animiert?
  • Wie kann ich programmgesteuert ActionBar menuitem Textfarbe ändern?
  • Wie fügt man Button in ActionBar (Android) hinzu?
  • InvalidateOptionsMenu wird nicht aus Fragment aufgerufen
  • Wie verstecke man die Aktie Aktion (die am meisten verwenden) Symbol in der Nähe der Anteil Aktion Anbieter?
  • Holen Sie sich aktuelles Fragment und speichern Sie on onSaveInstanceState () Methode für Bildschirmausrichtung
  • Ändern Aktion Bar Titel Farbe Theme.AppCompat.Light.DarkActionBar android
  • Wie Stil Text in Aktion Überlauf-Menü auf Gerät mit Android> 4.0 und Hardware-Taste?
  • 3 Solutions collect form web for “Richten Sie die Symbolleisten der ActionBar-Navigation über dem Tab-Text aus?”

    Sie können für jede Registerkarte eine benutzerdefinierte Ansicht festlegen.

    https://gist.github.com/3167287

    PropositionListActivity.java

     import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.SherlockActivity; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.ImageView; import android.support.v4.app.FragmentTransaction; import android.support.v4.app.NavUtils; public class PropositionListActivity extends SherlockActivity implements ActionBar.TabListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.proposition_list); getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); createTab(R.layout.tab_to_opine, R.id.tab_to_opine_title, "Vou Opinar"); createTab(R.layout.tab_opined, R.id.tab_opined_title, "Já Opinei"); createTab(R.layout.tab_feedback, R.id.tab_feedback_title, "Feedback"); } public void createTab(int view, int titleView, String title) { ActionBar.Tab tab = getSupportActionBar().newTab(); tab.setTabListener(this); tab.setCustomView(view); getSupportActionBar().addTab(tab); ((TextView) findViewById(titleView)).setText(title); } } 

    Tab_to_opine.xml

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/tab_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tab_to_opine" android:background="@android:color/transparent" /> <TextView android:id="@+id/tab_to_opine_title" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 

    In der Datei styles.xml kannst du einen <item name="android:drawableTop">@drawable/your_image.</item> Das wird funktionieren, wenn man möchte, dass alle Bilder über die Oberseite gleich sind. Ich weiß nicht, wie man das für Tabs macht, die trotzdem verschiedene Bilder verwenden.

    Seine sehr einfach nur hinzufügen android: drawableTop = "@ drawable / your_image" auf Ihre Textansicht und entfernen Sie die ImageView

     <?xml version="1.0" encoding="utf-8"?> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >

     <TextView android:id="@+id/tab_to_opine_title" android:layout_width="wrap_content" android:drawableTop="@drawable/your_image" android:layout_height="wrap_content" /> </LinearLayout> 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.