Estoy tratando de crear un bocadillo de diálogo para una sala de chat. Cada una de las burbujas de discurso tiene el diseño xml adjunto.Android ImageView no coincide con_parent dentro de FrameLayout debajo de GingerBread
estoy logrando esto estableciendo el Textview a wrap_content, el globo de diálogo imageView a match_parent y la frame_layout a wrap_content. Para que la imagen speech_bubble detrás del texto se escale de acuerdo con la cantidad de texto en la burbuja.
que definir el ancho de la Textview para que coincida con los padres y la altura a wrap_content y por alguna razón, funciona perfectamente como se requiere en Ice Cream Sandwich (Android 4.1). Sin embargo, en Gingerbread, la burbuja de voz de imageView interior no cambia a match_parent para que el texto encaje perfectamente dentro de la burbuja. En Gingerbread, la imagen interior ViewView se mantiene del mismo tamaño siempre, independientemente del texto y el texto se desborda fuera de la burbuja. pesar de que el FrameLayout expande a wrap_content, la imageView no match_parent, ya que se supone que es.
¿Alguna idea sobre por qué esto está sucediendo? ¿Hay algún otro parámetro que pueda establecer a través de xml o un método que pueda invocar programáticamente para solucionarlo?
Gracias!
comportamiento correcto en el ICS:
comportamiento incorrecto en pan de jengibre: Disposición Incorrect Behavior in GingerBread
XML:
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/speech_bubble_framelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/color_transparent"
android:layout_toRightOf="@id/message_user_imageView">
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/message_background_imageview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:scaleType="fitXY"
android:layout_centerInParent="true"
android:textColor="@color/color_brown_mud"
android:background="@drawable/chat_bubble_flipped"
/>
<TextView
android:id="@+id/message_textView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:maxEms="10"
android:background="@color/color_transparent"
android:textColor="@color/color_brown_uiDesign_pallete"
android:textSize="15sp"
android:textStyle="bold"
android:gravity="center_horizontal"
android:text="Message"
android:padding="5dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="20dp"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
/>
</FrameLayout>
</merge>
Eso solucionó el problema. Usé alignBottom y alignRight con algo de relleno. ¡Gracias! – Bala