Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Insignia en Android TabHost

Quiero implementar la misma funcionalidad que había en el iPhone

Introduzca aquí la descripción de la imagen

Implementé el tabhost personalizado igual que en iPhone en la barra inferior. Puedo fijar dos iconos para el estado normal / seleccionado pero necesito el icono dinámico con el número de notificaciones según lo dado en imagen.

Gracias

  • android: usando ActivityGroup para integrar actividades
  • ¿Cómo configurar la altura de la barra de herramientas de Android?
  • ¿Cómo cambiar o cambiar entre las pestañas en la distribución gráfica sdk de Android?
  • Quitar fragmento antiguo del gestor de fragmentos
  • Actualización de iconos de pestaña de Android
  • TabHost con Actividades vs ActionBar con Fragmentos
  • FragmentTabHost - No se conoce ninguna pestaña null
  • FragmentPagerAdapter - cómo detectar un golpe o un clic de pestaña cuando el usuario va a una nueva pestaña?
  • 2 Solutions collect form web for “Insignia en Android TabHost”

    Android ViewBadger puede ser la solución para usted. (FYI, no lo he implementado todavía)

    Aquí está el complemento que puede tener como resultado de esta solución:

    Introduzca aquí la descripción de la imagen

    Este es un ejemplo de cómo agregar una insignia en la pestaña

    Chat_tab.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="0dip" android:layout_height="64dip" android:layout_weight="1" android:layout_marginLeft="-3dip" android:layout_marginRight="-3dip" android:orientation="vertical" android:background="@drawable/tab_indicator" > <ImageView android:id="@+id/chat_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/chat_icon" android:layout_centerHorizontal="true"/> <TextView android:id="@+id/new_notifications" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/chat_icon" android:layout_toRightOf="@+id/chat_icon" android:layout_marginLeft="-8dp" android:layout_marginTop="0dp" android:paddingTop="2dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:paddingBottom="2dp" android:textSize="8sp" android:textStyle="bold" android:textColor="@android:color/primary_text_dark" android:background="@drawable/badge" android:visibility="gone"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/chat" style="@android:attr/tabWidgetStyle" android:textColor="@android:color/tab_indicator_text" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true"/> </RelativeLayout> 

    Esto es badge.xml (círculo rojo para las notificaciones de fondo), TextView id:new_notifications background

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <stroke android:width="2dp" android:color="#FFFFFF" /> <corners android:radius="10dp"/> <padding android:left="2dp" /> <solid android:color="#ff2233"/> </shape> 

    Entonces en el código usted puede hacer simplemente

     LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View chatTab = inflater.inflate(R.layout.chat_tab, null); tvNewNotifications = (TextView) chatTab.findViewById(R.id.new_notifications); intent = new Intent().setClass(MainTab.this, Chat.class); tabSpec = tabHost .newTabSpec("chat") .setIndicator(chatTab) .setContent(intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); 

    Como puedes ver mi Disposición Relativa tiene un fondo @drawable/tab_indicator la pestaña indicator.xml es el estándar del marco dibujable de la pestaña, que recibí de la sdk, sugiero que también debes obtenerla desde la carpeta de la api en sdk Ya que también necesitas copiar algunas imágenes de las carpetas dibujables , puedes encontrarla en tu_sdk_drive: \ sdk \ platforms \ android-8

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.