2011-12-19 27 views
7

私は中央に画像を設定したいプロジェクトをやっています。私はTableLayoutを使用していて、この画像をFrameLayoutに設定します。あなたは何か考えているので、私に提案してください。非常に緊急です。すべてにとにかく。ここに私のコードは次のとおりです。あなたのフレームレイアウトの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> 

答えて

13

使用この行を:

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

に追加することによって、それを達成しました。 – Patrick

+0

@Patrickあなたはアンドロイドで試しましたか:前景重力ですか?あなたのコードを私に見せてください。 –

+0

お返事ありがとうございます。私はここにそれを貼り付けました:http://pastebin.com/DCyTwRpP – Patrick

-5

あなたはこの試みるました:BGは描画可能-hdpi /画像である

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

をdrawable-mdpiなどです.bg.png/bg.jpgなどがあります。

画像を中央のframLayoutの内側に設定する場合は、次のようにしてくださいing。

<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

FrameLayoutの重力はありません –

3

私はラインがでframeLayoutで何もしない子供(フレームレイアウトの内側の何か)

android:layout_gravity="center" 
関連する問題