una titulo poner pestaña pagina navegador icono como colocar cambiar añadir android tabs android-tabhost android-4.0

android - titulo - icono en pestaña de navegador html5



El icono de la pestaña no se muestra (4)

Estoy tratando de hacer una aplicación de pestañas simple en Android con dos pestañas. Mi problema es que cuando coloco este código, en la pestaña solo se muestra el texto, pero no los íconos. Si pongo el texto en "", se muestra el ícono.

¿Alguien podría ayudarme? Mi versión de Android es 4.0.3.

Muchas gracias.

<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TabWidget android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@android:id/tabs" /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@android:id/tabcontent" > <LinearLayout android:id="@+id/tab1" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:text="Contenido Tab 1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:id="@+id/tab2" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView2" android:text="Contenido Tab 2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost>

y el código de actividad es

public class TabTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Resources res = getResources(); TabHost tabs=(TabHost)findViewById(R.id.tabhost); tabs.setup(); TabHost.TabSpec spec=tabs.newTabSpec("mitab1"); spec.setContent(R.id.tab1); spec.setIndicator("sss", res.getDrawable(android.R.drawable.ic_btn_speak_now)); tabs.addTab(spec); spec=tabs.newTabSpec("mitab2"); spec.setContent(R.id.tab2); spec.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map)); tabs.addTab(spec); tabs.setCurrentTab(0); }

como puedes ver es muy simple. Pero cuando escribo spec.setIndicator("", res.getDrawable(android.R.drawable.ic_dialog_map)); Puedo ver el icono, bu cuando escribo spec.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map)); Solo puedo ver TAB2, pero no ambos.

Parece que no hay espacio suficiente para mostrar ambos. Así que he tratado de aumentar la altura de la pestaña con esto

tabs.getTabWidget().getChildAt(1).getLayoutParams().height = 150;

pero parece que no funciona


// estás sobre cargando el primero para que solo puedas ver el último agregado

TabHost.TabSpec spec=tabs.newTabSpec("mitab1"); spec.setIndicator("sss", res.getDrawable(android.R.drawable.ic_btn_speak_now)); Intent sssIntent = new Intent(this, First.class); spec.setContent(sssIntent); tabs.addTab(spec); TabHost.TabSpec spec2=tabs.newTabSpec("mitab2"); spec2=tabs.newTabSpec("mitab2"); spec2.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map)); Intent sssIntent2 = new Intent(this, Second.class); spec2.setContent(sssIntent2 ); tabs.addTab(spec2);


Agregar esto en AndroidManifest.xml resolvió el problema.

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> </application>


La visibilidad del ícono (junto con la etiqueta) en la pestaña depende del dispositivo de destino y la versión de la plataforma de Android.

Estudié más a fondo este problema y agregué más detalles y una solución a su otra pregunta (bastante similar) sobre este problema; Se puede encontrar aquí:

https://.com/a/11379708/414581


Reemplacé el nombre de la etiqueta con valor nulo. Ahora puedo ver el ícono solo ... No pude encontrar ninguna otra solución.

TabHost.TabSpec spec=tabs.newTabSpec("mitab1"); spec.setIndicator("", res.getDrawable(android.R.drawable.ic_btn_speak_now)); Intent sssIntent = new Intent(this, First.class); spec.setContent(sssIntent); tabs.addTab(spec);