Pregunta

Tengo una imagen en las 3 carpetas Res/Drawable-HDPI/MDPI/LDPI 600*600 como resolución) y tengo este archivo XML para mostrar un TextView y la imagen:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />
  <ImageView android:id="@+id/connected" android:src="@drawable/connected" android:layout_below="@id/sipLabel" 
  android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="0.35" android:gravity="center" 
         />
        </LinearLayout>

¿Qué podría BR el problema? Gracias por tu ayuda.

¿Fue útil?

Solución

El problema principal es su primera etiqueta en el LinearLayout:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />

Ya que layout_height se establece en fill_parent Este TextView está llenando el LinealLayout verticalmente, sin dejar espacio para la imagen. Intenta cambiar layout_height a wrap_content.

Además, un par de otras cosas:

  • Estás usando android:layout_below="@id/sipLabel", pero esto solo funciona en un relativeLayout. Entonces este atributo está siendo ignorado en silencio.
  • Mientras pueda elegir cualquier layout_weight usted quiere, 0.35 es bastante arbitrario. Dado que es el único niño en LinearLayout con peso, recibirá todo el espacio vertical adicional.
  • No necesitas incluir el xmlns:android="http://schemas.android.com/apk/res/android" En su etiqueta TextView.

Otros consejos

pienso layout_below Solo se aplica para RelativeLayOuts. También eso layout_weight="0.35" Parece muy sospechoso, no creo que signifique lo que crees que significa. Creo que debe tener un valor entero.

Ya que tu TextView tiene una altura de fill-parent, y el LinearLayout no se desplaza (a menos que se ponga en un ScrollView no puedes ver las partes inferiores), tu TextView toma la pantalla completa de la actividad y el ImageView estar debajo no es visible.

Para que tú puedas

  • Pon tu todo LinearLayout en unScrollView, y desplácese hacia abajo para ver su imagen, o
  • Si su objetivo es mostrar la imagen en la parte inferior de la pantalla, y todo el lugar de arriba debe tomarse el TextView, entonces un `RelativeLayout sería la mejor opción.

Actualizar
un trabajo RelativeLayout Soulution sería

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <TextView android:id="@+id/sipLabel" android:text="@string/loremipsum1"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentTop="true" />
    <ImageView android:id="@+id/connected" android:src="@drawable/connected"
        android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:layout_below="@id/sipLabel" android:layout_alignParentBottom="true" />
</RelativeLayout>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top