Pregunta

Yo sé cómo poner el icono en cada ficha, eso no es problema. También me encontré con esto: [Desbordamiento de pila hilo en más o menos lo mismo] [1]

He seguido uno de los enlaces de esa pregunta y encontré [esto] [2]

Más o menos, se dice que el uso de un selector definido en el XML, claro, lo hizo. Pero no hay una identificación asociada w /, así que no estoy seguro de cómo obtener la función de selección como estirable para que pueda usarlo como el icono de las pestañas. Tal vez voy de este por el camino equivocado. Pero esto es lo que tengo, y, obviamente, falta algo.

<selector
    android:id="@+id/myselector"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Non focused states -->
    <item
        android:state_focused="false"
        android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/darklogo" />
    <item
        android:state_focused="false"
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@drawable/lightlogo" />

    <!-- Focused states -->
    <item
        android:state_focused="true"
        android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/lightlogo" />
    <item
        android:state_focused="true"
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@drawable/lightlogo" />

    <!-- Pressed -->
    <item
        android:state_pressed="true"
        android:drawable="@drawable/lightlogo" />
</selector>

En mi código, una pestaña ejemplo se genera usando:

  host.addTab(host.newTabSpec("three")  
                .setIndicator("map",drawables)  
                .setContent(new Intent(this, Map.class))); 

En este momento DRAWABLE es sólo una referencia a un recurso de imagen estirable. ¿Cómo hago que el selector de un dibujable?

Esta es mi pregunta [1]: Actualización de Android Tab iconos [2]: < a href = "http://groups.google.com/group/android-evelopers/browse_thread/thread/ef3bdebcb715b385" rel = "nofollow noreferrer"> http://groups.google.com/group/android-evelopers/browse_thread / hilo / ef3bdebcb715b385

¿Fue útil?

Solución

El XML que ha incluido aquí es una manera de definir un estirable que permite incorporar una declaración de caso. Presenta una dibujable diferente dependiendo del estado de la vista que está siendo asignado. Como estirable, debe guardarlo como un archivo XML dentro de la carpeta res/drawable de su proyecto (por ejemplo tabselector.xml).

Para usarlo para la Tabhost, que necesita para construir el TabActivity como lo haría normalmente (como se muestra en este ejemplo tutorial ).

A continuación, cuando se agrega cada ficha para el anfitrión, se especifica el dibujable tabselector como el indicador como se muestra para "TAB 1" a continuación.

Drawable mySelector = getResources().getDrawable(R.drawable.tabselector);

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1", mySelector).setContent(R.id.textview1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(R.id.textview2));

Nota: no pueden cambiar el color de la lengüeta de fondos detrás de los iconos en este punto

.

Otros consejos

Se puede utilizar una vista como un indicador, de esta manera se puede personalizar la forma que desee.

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator(View MyView).setContent(R.id.textview1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(R.id.textview2));

La primera pestaña utilizará un Ver como su indicador y el segundo un CharSequence. Echar un vistazo a la clase TabSpec real ( http: // developer.android.com/reference/android/widget/TabHost.TabSpec.html ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top