Problema Android Tabhost – .setIndicator

Prima dica che ho già riferito la questione SO relativa a "Android – TAbhost".

Ho fatto googling su "Android Tabhost" ma non sono riuscito a trovare la soluzione.

  • Accesso random InputStream con modalità AES CTR in android
  • OutOfMemoryError nel gioco con molte piccole immagini
  • impostazione predefinita android predefinita sms
  • AVD molto lento su Android 4.0
  • Mostra la window di dialogo della libreria "android-feedback.com"
  • Arresta tutti i servizi iniziati in App Close / Exit
  • Il mio problema è:

    Se si hanno <3 tabs allora va bene. ma support se abbiamo 4 tabs con titolo indicatore come TabHost1, TabHost2, TabHost3, TabHost4). Ma questo titolo in Tab non è dotato di scheda. quindi c'è un modo per montare il text del titolo (cioè indicatore) all'interno della scheda?

  • come cambiare il colore dell'attuale scroll in ScrollView android?
  • Android GridView carica gli elementi verticalmente
  • Come posso creare un evento a lunga durata nel button del menu fisico?
  • Utilizzo di esempio di Android LocationServices.GeofencingApi
  • L'applicazione di esempio Cocos2D-x si blocca al lancio
  • Separatore di listview di Android
  • 2 Solutions collect form web for “Problema Android Tabhost – .setIndicator”

    Pensavo che la fonte del nostro problema fosse da qualche parte nel codice del framework. E certamente ho trovato alcuni indizi:

    Innanzitutto, se si guarda all'interno del codice TabWidget , si vedrà che l'etichetta impostata in setIndicator viene passata a una class interna chiamata LabelIndicatorStrategy che si occuperà di gonfiare la vista associata alla parte superiore della scheda. Questa inflazione viene eseguita utilizzando un file xml tab_indicator.xml . Questo layout è basato su un RelativeLayout contenente un ImageView e un TextView . E se si esaminano le properties; della visualizzazione di text, vednetworking che si riferisce a uno stile in android styles.xml . E qui finalmente, ti rendi conto che abbiamo:

     <item name="ellipsize">marquee</item> <item name="singleLine">true</item> 

    Adesso, 2 opzioni:
    Innanzitutto, superare lo stile creando il tuo stile personale, che a mio avviso sarebbe il modo davvero indolore e quindi cambiare queste properties; a qualcosa che ti soddisfa meglio. Anche se il risultato potrebbe non essere molto bello. questo richiederà alcuni test.
    Oppure, metti i guanti e copia il codice dalla class TabWidget, perché un altro problema è che la class interna che ho citato è … PRIVATO quindi, nessuna inheritance; ansible se non mi sbaglio … così penso, molto molto più dolore rispetto al modo styles.xml. Spero che questo ti ispira, mi fai pubblicare quello che ti arriva per favore. Sono ancora interessato.

    ho risolto il problema di cui sopra diminuendo la dimensione di carattere, controlla il seguente codice di Style.xml :

     <resources> <style name="MyTheme" parent="@android:style/Theme.Light"> <item name="android:tabWidgetStyle">@style/LightTabWidget</item> </style> <style name="LightTabWidget" parent="@android:style/Widget.TabWidget"> <item name="android:textSize">12px</item> <item name="android:textColor">#1E90FF</item> </style> </resources> 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.