I tiene la siguiente XML:

<RelativeLayout android:id="@+id/cover_box"
    android:layout_width="wrap_content" android:layout_height="wrap_content">
    <ImageView android:id="@+id/cover"
        android:layout_width="wrap_content" android:layout_height="wrap_content" />
    <ImageView android:id="@+id/download" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/mark_download"
        android:layout_centerInParent="true" android:layout_marginTop="90px" />
</RelativeLayout>

Pero a ver como la marginTop está siendo ignorada.

OriginalEl autor Marcos Vasconcelos | 2011-10-25

5 Comentarios

  1. 9

    Cuando se utiliza el centro de padres de la vista se coloca directamente en el centro. El margen superior sólo entrará en juego si un objeto está dentro de la 90px de la parte superior de la vista. Empujando el centrado de la vista hacia abajo para mantener al menos 90px de espacio en la parte superior de la misma. Así que no está siendo ignorados, pero no está teniendo el efecto que usted cree que debería tener.

    Si ese fuera el caso, entonces el cambio de la margen de un alto valor de cambio de la posición de la imagen. Pero estoy probando en Android 4.2 y parece que centerInParent completamente invalida cualquier margen Relativo de diseño.

    OriginalEl autor Bobbake4

  2. 26

    Si quieres la 2ª imagen 90dp bajo el centro de la pantalla, usted puede reemplazar con un FrameLayout, donde se puede controlar el relleno para mover la imagen hacia abajo.

    <FrameLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true"
        android:paddingTop="90dp">
        <ImageView android:id="@+id/download" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:src="@drawable/mark_download"/>
    </FrameLayout>
    Esto fue muy útil. Gracias. Centro de la framelayout y agregar relleno/
    esto debe ser aceptado respuesta

    OriginalEl autor ImR

  3. 3

    Quiero progressbar en el que se muestra bajo android:layout_centerInParent="true" así que he añadido un maniquí TextView y configurarlo para que centerInParent .Luego puse mi progressbar debajo de ella. Ahora usted puede aumentar su distancia desde el centro de dos maneras . En primer lugar por el aumento de marginTop en TextView y la segunda el aumento de TextView altura.

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/widget"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/splash" >
    
        <FrameLayout
            android:id="@+id/splash_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    
        <TextView
            android:id="@+id/txt1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true" />
    
        <com.s3.tdd.interfaces.CircularProgressBar
            android:id="@+id/circularprogressbar2"
            style="@style/Widget.ProgressBar.Holo.CircularProgressBar"
            android:layout_width="110dip"
            android:layout_height="110dip"
            android:layout_below="@+id/txt1"
            android:layout_centerHorizontal="true" />
    
    </RelativeLayout>

    OriginalEl autor Xar E Ahmer

  4. 1

    Usted puede poner su imageview dentro de otros ViewGroup (LinearLayout de RelativeLayout diseño), dejando el margen de imageview, y haciendo android:centerInParent="true" para la ViewGroup:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:centerInParent="true">
               <ImageView android:id="@+id/download" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/mark_download" android:layout_marginTop="90px" />    
        </LinearLayout>    
    </RelativeLayout>

    OriginalEl autor Iliiaz Akhmedov

  5. 0

    Usted puede hacer un maniquí de la vista y del centro de padres. Ahora alinear su punto de vista en relación a ficticio de la vista mediante la presentación:alignComponent y dar la marginTop. Ahora en el código mueven de acuerdo a la anchura de su vista hacia el centro.

    OriginalEl autor user4414751

Dejar respuesta

Please enter your comment!
Please enter your name here