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


Android layout: Esta etiqueta y sus hijos pueden ser reemplazados por un <TextView /> y un compuesto drawable

Cuando ejecuto el diseño en un archivo XML específico, obtengo esto:

This tag and its children can be replaced by one <TextView/> and a compound drawable 

Qué cambio debe hacerse para el siguiente código xml:

  • Software Android NDK código nativo c perfil en los teléfonos Android real
  • Fragmento de la transición estándar sin animar
  • Extraer la subcadena de una cadena
  • Emulador de Android TV con API de Google
  • Cómo convertir la imagen en matriz de bytes y matriz de bytes a base64 Cadena en android?
  • ¿Cómo puedo implementar Pinning del certificado SSL mientras uso React Native
  •  <LinearLayout android:id="@+id/name_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:background="@drawable/grouplist_single_left_grey_area" > <ImageView android:id="@+id/photo_image" android:layout_width="@dimen/thumbnail_width" android:layout_height="@dimen/thumbnail_height" android:paddingBottom="5dip" android:paddingTop="5dip" android:paddingRight="5dip" android:paddingLeft="5dip" android:layout_marginRight="5dip" android:clickable="true" android:focusable="true" android:scaleType="fitCenter" android:src="@*android:drawable/nopicture_thumbnail" android:background="@drawable/photo_highlight" /> <TextView android:id="@+id/name" android:paddingLeft="5dip" android:layout_weight="1" android:layout_width="0dip" android:layout_height="wrap_content" android:gravity="center_vertical" android:textAppearance="?android:attr/textAppearanceLarge" /> </LinearLayout> 

    Así es como se ve en la pantalla:

    Introduzca aquí la descripción de la imagen

    El icono de la cámara es el predeterminado. Al hacer clic en que le dará al usuario una opción para elegir otra imagen.

  • Cómo cargar una imagen de Picasa desde URI?
  • Evitar que algunos usuarios cierren el servicio de Android
  • Desplácese ListView sin problemas y programáticamente
  • ¿Por qué cursorLoader no notificó cambios en los datos de origen?
  • Posición de popupmenu de Android
  • Añadir elementos a Endless Scroll RecyclerView con ProgressBar en la parte inferior
  • 9 Solutions collect form web for “Android layout: Esta etiqueta y sus hijos pueden ser reemplazados por un <TextView /> y un compuesto drawable”

    Para ampliar la respuesta de Romain Guy, he aquí un ejemplo.

    Antes de:

     <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:padding="5dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="My Compound Button" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/my_drawable" /> </LinearLayout> 

    Después:

     <TextView android:layout_marginTop="10dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="My Compound Button" android:drawableRight="@drawable/my_drawable" android:padding="5dp" /> 

    Combinar el TextView y el ImageView en uno, mediante el uso de los métodos setCompoundDrawable*() o utilizando android:drawableLeft .

    Pensado que intentaría conseguir algunos puntos adicionales para esto también: usted puede agregar el relleno entre la imagen y el texto usando android:drawablePadding . https://stackoverflow.com/a/6671544/1224741

    A veces es posible reemplazar ImageView (o varios) y TextView con un TextView con compuesto TextView (s). No hay muchos parámetros que se pueden aplicar al compuesto drawable utilizando la API nativa y esta biblioteca TextViewRichDrawable , pero si puedes administrar una TextView en lugar de usar LinearLayout definitivamente deberías usarla .

    La lista de atributos y parámetros que se pueden aplicar a los elementos compuestos:

    Tamaño: ( SÍ, realmente ):

     <com.tolstykh.textviewrichdrawable.TextViewRichDrawable android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Some text" app:compoundDrawableHeight="24dp" app:compoundDrawableWidth="24dp"/> 

    Incluso establecer recursos vectoriales como drawable:

     <com.tolstykh.textviewrichdrawable.TextViewRichDrawable android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Some text" app:drawableTopVector="@drawable/some_vector_drawble" app:drawableEndVector="@drawable/another_vector_drawable" /> 

    Drawable's Padding usando la API nativa android:drawablePadding -> link

    Aquí hay un ejemplo:

    TextView rich drawable

    Un LinearLayout que contiene un ImageView y un TextView puede ser manejado de forma más eficiente como un compuesto dibujable (un único TextView , utilizando los TextView , TextView , TextView y / drawableBottom para dibujar una o más imágenes adyacentes al texto).

    Si los dos widgets están desplazados entre sí con márgenes, esto puede reemplazarse por un atributo drawablePadding .

    Hay un quickfix de pelusa para realizar esta conversión en el complemento de Eclipse.

    De: Android Official API docs!

    Cuando seguí el código anterior, el texto dentro de TextView no se establece correctamente. Necesita establecer su gravedad para centrarse para lograr lo que se muestra en la pregunta.

    La vista de texto se ve así:

      <TextView android:id="@+id/export_text" android:layout_width="match_parent" android:layout_height="match_parent" android:drawableLeft="@drawable/up_arrow" android:drawableStart="@drawable/up_arrow" android:gravity="center|start" android:text="....." android:textSize="@dimen/font_size15" > </TextView> 

    Si no desea cambiar ImageView y TextView, puede cambiar la versión en AndroidManifest.xml como:

      <uses-sdk` android:minSdkVersion="8" android:targetSdkVersion="18" /> 

    Si su versión es android: targetSdkVersion = "17" cambie s "18".

    Espero que esto se corrija. Lo hice y lo hice bien

    Otro enfoque consiste en incrustar ViewImage en otro LinearLayout (permite manejarlo con id solo):

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/blue_3" android:layout_gravity="center_horizontal" android:paddingTop="16dp" /> </LinearLayout> <TextView android:id="@+id/tvPrompt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:paddingTop="16dp" android:text="@string/xy" /> 

      This tag and its children can be replaced by one <TextView/> and a compound drawable <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical" > <ImageView android:id="@+id/imageview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:focusable="false" android:contentDescription="." android:padding="3dp" android:src="@drawable/tab_home_btn"> </ImageView> <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="首页" android:textSize="10sp" android:textColor="#ffffff"> </TextView> </LinearLayout> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.