2011-12-19 21 views
7

Estoy haciendo un proyecto en el que quiero establecer una imagen en el centro. Estoy usando TableLayout y quiero establecer esta imagen en FrameLayout. Si tienes alguna idea, por favor sugiérame. Es muy urgente. Gracias a todos. Aquí está mi código:Cómo establecer la imagen en el centro en FrameLayout

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="match_parent" 
android:shrinkColumns="*" 
android:stretchColumns="*" > 

     <FrameLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
      android:layout_gravity="center" 
      android:scaleType="center" 
     > 

     <com.nexbits.digitechi.DrawCanvas 
     android:id="@+id/SurfaceView" 

     android:layout_width="wrap_content" 

     android:layout_height="wrap_content" 

     /> 


    </FrameLayout> 

    <TableRow 

    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:gravity="center_horizontal"> 


    <ImageButton 
     android:id="@+id/imageButton5" 

     android:layout_weight="1" 
     android:padding="20dip" 
     android:layout_gravity="center_horizontal" 
     android:onClick="video" 
     android:src="@drawable/ic_webcamera" /> 

    <ImageButton 
     android:id="@+id/imageButton3" 
     android:layout_weight="1" 
     android:layout_gravity="center_horizontal" 

     android:padding="20dip" 
     android:src="@drawable/ic_twitter64" /> 

    <ImageButton 
     android:id="@+id/imageButton2" 

     android:layout_weight="1" 
     android:padding="20dip" 
     android:layout_gravity="center_horizontal" 

     android:src="@drawable/ic_brightness64" /> 

     <ImageButton 
      android:id="@+id/imageButton4" 
      android:layout_weight="1" 
      android:padding="20dip" 
      android:layout_gravity="center_horizontal" 
      android:src="@drawable/microscope" /> 
     </TableRow> 
     </TableLayout> 

Respuesta

13

Usar esta línea en el diseño del marco:

android:layout_gravity="center_vertical|center_horizontal" 
android:foregroundGravity="center" 

<com.nexbits.digitechi.DrawCanvas 
    android:id="@+id/SurfaceView" 
    android:layout_gravity="center_vertical|center_horizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
+1

Esa línea no hace nada en un FrameLayout. – Patrick

+0

@Patrick ¿Has probado con android: foregroundGravity? muéstrame tu código –

+0

Gracias por la respuesta. Lo pegué aquí: http://pastebin.com/DCyTwRpP – Patrick

-5

¿Usted intentó esto:

<FrameLayout 
     android:gravity="center" 
     android:background="@drawable/bg" 
> 

donde bg es una imagen en el dibujable-IPAP/drawable-mdpi etc. Puede ser bg.png/bg.jpg etc.

Si desea establecer la imagen dentro del framLayout en el centro, intente de la siguiente manera En g.

<com.nexbits.digitechi.DrawCanvas 
     android:id="@+id/SurfaceView" 

     android:layout_width="wrap_content" 
     android:gravity="center_vertical" or android:gravity="center_horizontal" 

     android:layout_height="wrap_content" 

    /> 


</FrameLayout> 
+2

no hay gravedad para FrameLayout –

3

que logra añadiendo a Niño (algo dentro de diseño de marcos)

android:layout_gravity="center" 
Cuestiones relacionadas