Domanda

Ho una domanda che gli obiettivi del quadro 1.5 e utilizza il tema di default luce. Quando si utilizza un widget di scheda con questo tema, le immagini della scheda sono appena visibili, e la scheda didascalie sono abbastanza impossibile discernere, ad eccezione della scheda attiva.

Nel tema scuro di default queste schede vengono attraverso abbastanza chiaramente, ma questa non è una soluzione sarei molto contento. C'è un'impostazione semplice posso impostare, che imposta il widget di scheda per una migliore visibilità nei temi leggeri, o avrei dovuto manomettere le immagini e stili di testo manualmente?

È stato utile?

Soluzione

Non è bello, ma si può provare questo nella vostra attività scheda.

// light theme support
final TabHost tabHost = getTabHost();
tabHost.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);

// hack to set font size
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);

// first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);

// second tab
RelativeLayout rlrf = (RelativeLayout) tw.getChildAt(1);
rf = (TextView) rlrf.getChildAt(1);
rf.setTextSize(21);
rf.setPadding(0, 0, 0, 6);

/res/values/colors.xml dovrebbe avere

<resources>
    <drawable name="black">#ff000000</drawable>
    <drawable name="white">#ffffffff</drawable>
</resources>

AndroidManiest.xml dovrebbe avere

<application android:theme="@android:style/Theme.Light">

se si vuole fare qualcosa di più pazzo, prova a http: // ezmobile.wordpress.com/2009/02/02/customized-android-tabs/

Altri suggerimenti

Questo è un bug; puoi segnalarlo nel rel="nofollow l'issue tracker ?

Per quanto ne so, la tua soluzione di personalizzare gli stili di testo e immagine suona bene.

E 'anche interessante notare che il widget di scheda in 2.0 non sembra avere uno stile leggero.

Utilizzando lo strumento hierarchyviewer ho trovato l'id android per il TextView nella scheda. Un modo migliore per cambiare il (colore compreso) le proprietà di testo è nel modo seguente ...

TabWidget tw = (TabWidget)tabHost.findViewById(android.R.id.tabs);
View tabView = tw.getChildTabViewAt(0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);

Un modo molto semplice per risolvere il problema di colore / contrasto nel layout:

<TabWidget
   android:id="@android:id/tabs"
   android:background="#FF000000"
   android:padding="2dp"

Imposta lo sfondo della TabWidget al nero e aggiunge un po 'di imbottitura in modo da avere il contrasto con le linguette contro il fondo nero. La sua non perfetta, ma funziona a 1,5, 2,2, la luce e il tema scuro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top