¿Por qué FOOBARZ se despliega completamente en la parte inferior cuando no hay elementos layout_height="fill_parent"
en otras palabras, todos los elementos son wrap_content para altura?
<?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="wrap_content">
<TextView
android:id="@+id/feed_u"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_marginLeft="5dip"
android:scaleType="centerCrop"
android:drawableTop="@android:drawable/presence_online"
android:text="U" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/feed_u">
<ImageView
android:id="@+id/feed_h"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/btn_minus" />
<ImageView
android:id="@+id/feed_ha"
android:layout_toLeftOf="@id/feed_h"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/btn_plus" />
<TextView
android:id="@+id/feed_t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title">
</TextView>
<TextView
android:id="@+id/feed_a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Band"
android:layout_below="@id/feed_t">
</TextView>
<TextView
android:id="@+id/feed_s"
android:layout_below="@id/feed_a"
android:text="S"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
</TextView>
<TextView
android:id="@+id/feed_tm"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="FOOBARZ"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
</TextView>
</RelativeLayout>
</RelativeLayout>
android
android-layout
Hunterp
fuente
fuente
hierarchyviewer
o la perspectiva Vista de jerarquía en Eclipse para determinar dónde van las cosas mal: developer.android.com/guide/developing/debugging/…Respuestas:
Desde el
RelativeLayout
documento:Documentación de la clase
Cuál es exactamente tu caso. RelativeLayout no puede hacer eso.
fuente
android:layout_height="200dp"
esto le permitiría usarandroid:layout_alignParentBottom="true"
<ImageView>
que está detrás de él.layout_height
dematch_parent
Para aquellos que buscan una solución a esto, como lo hice, puede usar en
FrameLayout
lugar deRelativeLayout
.Luego puede establecer la gravedad del objeto deseado en la parte inferior derecha como se muestra a continuación
fuente
Ha establecido RelativeLayout en
"wrap_content"
y TextView enandroid:layout_alignParentBottom="true"
, por lo que automáticamente intenta estirar RelativeLayout hasta el final. No utilice tales dependencias con diseño relativo, ya que puede contar como "dependencias circulares".De los documentos para RelativeLayout :
Intente alinear su TextView con algo distinto del RelativeLayout principal, pero también tenga cuidado con este problema: las
dependencias circulares, necesitan ayuda con el código exacto
Alternativamente, intente agregar diseños internos más sofisticados.
fuente
Buenas respuestas Ahora, si no lo ha hecho
layout_alignParentBottom="true"
y sigue teniendo este problema, tenga cuidado conandroid:background="@drawable/bkgnd"
bkgnd.fuente
No estoy seguro de por qué la forma limpia y obvia de lograr esto aún no se ha publicado. Esta solución eficaz funciona para cualquier View MyView con una altura conocida.
Envuelva su
RelativeLayout
alturawrap_content
con un FrameLayout:Solo tenga en cuenta que la vista en la parte inferior de FrameLayout estará encima de su
RelativeLayout
contenido, por lo que necesitará agregar relleno al final de ese diseño para acomodarlo. Si desea que la vista sea de altura variable, puede Subclass FrameLayout para agregar relleno en el código basado en la altura de vista medida, o simplemente cambiar FrameLayout a Vertical LinearLayout si no le preocupa el rendimiento, es decir, no es una vista de lista elemento, o las vistas son relativamente ligeras.fuente
No use propiedades de tipo alight_Parent con las vistas secundarias
Puede usar el diseño del marco en lugar de RelativeLayout con la gravedad respectiva
fuente