2012-04-18 10 views
7

イメージを相対レイアウトの上に整列させようとしています。私が使用しているコードは次のとおりです。Androidの画像をRelativeLayoutの上端と中央に整列する

<ImageView 
     android:id="@+id/collection_image_background" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

しかし、このコードは機能しません。私のイメージは中心に置かれていますが、私の相対レイアウトの上には整列されていません。私はandroid:scaleType="fitStart"で試しましたが、実際には親の左と上の位置に合わせています。

私は必要に応じてどのように画像を正しく整列できますか?

P.S.私はこのように私のImageViewに画像を設定していますことを言及するのを忘れ:

BitmapFactory.Options o2 = new BitmapFactory.Options(); 
    o2.inTempStorage = new byte[8*1024]; 

    ops = BitmapFactory.decodeStream(cis,null,o2); 
    ImageView view = (ImageView) findViewById(R.id.collection_image_background); 
    view.setImageBitmap(ops); 

答えて

18

コードは、全体のビューを取り、センターとして表示されます、これだけで、それを修正するあなたがfill_parentを割り当てていたコンテンツ領域を除いて完璧のようですwrap_content

<ImageView 
      android:id="@+id/collection_image_background" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" /> 
+0

大丈夫ですが、少なくとも親の幅に合わせるようにイメージしたいと思います。 –

+0

あなたはandroid:layout_width = "fill_parent"とandroid:layout_height = "wrap_content"で行うことができます。 –

+0

実際には 'fill_parent'に幅と高さの両方を設定しました。これはうまくいきました...なぜコード内で何も触れていなかったのはなぜ以前にはうまくいかなかったのか分かりません。とにかく答えてくれてありがとう! –

関連する問題