Estoy intentando 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.Ícono de la pestaña que no muestra
¿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 se puede 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 en blanco para mostrar ambos. Así que he tratado de aumentar la altura de las pestañas con este
tabs.getTabWidget().getChildAt(1).getLayoutParams().height = 150;
pero parece que no funciona.
¿Podría explicar un poco más? No entiendo cuando dices sobrecarga? muchas gracias – theholy
Esto no funciona para mí –