you una tipos studio significado should que provide producto missing grado etiquetas etiqueta contiene android layout

android - tipos - que contiene una etiqueta de un producto



diseño de Android: esta etiqueta y sus hijos pueden ser reemplazados por uno<TextView/> y un compuesto dibujable (9)

A veces es posible reemplazar ImageView (o múltiples) y TextView con un TextView con compuesto (s) compuesto (s). NO hay muchos parámetros que se puedan aplicar al compuesto dibujable usando la API nativa y esta biblioteca TextViewRichDrawable , pero si puede administrar un TextView en lugar de usar LinearLayout definitivamente debe usarlo .

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

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 establece el recurso vectorial como dibujable:

<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 API nativa android:drawablePadding -> link

Aquí hay un ejemplo:

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 debería hacerse para el siguiente código xml:

<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:

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


Cuando seguí el código anterior, el texto dentro de TextView no se establece correctamente. Debe establecer su gravedad en el centro para comenzar a 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>


Otro enfoque es incrustar ViewImage en otro LinearLayout (permitir manejarlo solo con id):

<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" />


Para ampliar la respuesta de Romain Guy, aquí hay 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" />


Pensé que trataría de obtener algunos puntos extra para esto también: puedes agregar relleno entre la imagen y el texto usando android:drawablePadding . https://.com/a/6671544/1224741


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" cámbiela por "18".

Espero que esto rectifique. Lo hice y lo hice bien


Un LinearLayout que contiene un ImageView y un TextView puede TextView más eficientemente como un compuesto compuesto (un solo TextView , usando los TextView , TextView , TextView y / drawableBottom para dibujar una o más imágenes adyacentes al texto).

Si los dos widgets se compensan entre sí con márgenes, esto puede reemplazarse con un atributo drawablePadding .

Hay una solución rápida de pelusa para realizar esta conversión en el plugin de Eclipse.

De: Android API oficial de documentos


TextView el TextView y el ImageView en uno, usando los métodos setCompoundDrawable*() , o usando android:drawableLeft .


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>