2012-04-17 10 views
1

これは、アプリ「Googleカタログ」のスナップショットです。この種の画像をどのように重ね合わせることができるかを知りたいだけです。[[1]android:画像が重複していますか?

+1

は、その全体が事はイメージです重なっすることができる... – ngesh

+1

は、私が今以上を参照して、**でframeLayout **砂@ビュー – waqaslam

+0

と重なるようにあなたを助けることができると信じて2つの画像。私たちがカタログを訪問するたびにビューの画像が変わります。 – Hitendra

答えて

2

ここに私が望むコードがあります。

public Bitmap convertImage(Bitmap bitmap, int param1, int param2, int degree) { 
     float f1 = 1.0F; 
     int i = bitmap.getWidth(); 
     int j = bitmap.getHeight(); 

     if (((Math.abs(i - param1) <= 1) || (param1 <= 0)) 
       && (Math.abs(j - param2) <= 1) || (param2 <= 0) && degree == 0) 
      return bitmap; 

     Matrix matrix = new Matrix(); 
     float f4 = 1.0F; 
     if (param1 > 0) { 
      float f2 = param1; 
      float f3 = i; 
      f4 = f2/f3; 
     } else if (param2 > 0) { 
      float f5 = param2; 
      float f6 = j; 
      f1 = f5/f6; 
     } 

     boolean b1 = matrix.postScale(f4, f1); 
     float f7 = degree; 
     boolean b2 = matrix.postRotate(f7); 
     Bitmap localbitmap = bitmap; 

     int k = 0; 

     bitmap = Bitmap.createBitmap(localbitmap, 0, k, i, j, matrix, true); 
     return bitmap; 

    } 

使用法: -

BitmapDrawable drawable = (BitmapDrawable) getResources().getDrawable(
       R.drawable.ic_launcher); 
     Bitmap localBitmap2 = convertImage(drawable.getBitmap(), -1, -1, 
       -7); 

     imageview1.setImageBitmap(localBitmap2); 
+0

上記の画像を表示するには、このコードを試して画像を回転させ、framelayoutを使って画像を重ね合わせることができます。 – Hitendra

+0

あなたはジャンクコードを削除することができます!! – Hitendra

1

ImageViewに画像を使用できますFrameLayout内のオブジェクトがイメージをオーバーラップさせます。 Here私は例を掲載しました。

3

FrameLayoutを使用して、イメージを重ねることができます。しかし、同じ画面内に不特定多数の画像を持つようになると、彼らはそのようにするのではないかと疑います。これにより、遅かれ早かれメモリ問題が発生します。

私が考えているのはです。彼らはカタログからサンプルを取り出し、イメージをキャンバスに描画して1つのエンティティとしてレンダリングしています。彼らはパネル全体に1つのキャンバスを使用していて、それを同様にコントロールしているかもしれません。

ちょうど私の2セントです。ここであなたの可能性を考えようとしています。

関連する問題