2012-06-21 55 views
4

我有兩個圖像 - 1)的矩形之一,顯示的實際內容和2)具有圓形透明角ImageView的經由另一圖片圓角作爲背景

白色圖像是否有可能將圖像1內圖像2,保持其大小,但使其形狀與2相同?

基本上我想圖像2是我已經試過層和插圖可繪但所有的時間圖像1重疊圖像2.

預先感謝圖像1.

的容器!

更新1:

這裏是我的ImageView XML部分:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="72dp" 
android:orientation="horizontal"> 

    <ImageView 
     android:id="@+id/avatar" 
     android:src="@drawable/mainImg" 
     android:background="@drawable/backgroundImg" 
     android:layout_width="56dp" 
     android:layout_height="56dp" 
     android:layout_gravity="center" 
     android:contentDescription="@string/desc" /> 

</LinearLayout> 

更新2:

下面是鏈接到三個圖像 1)背景 2)主圖片 3)預期結果(圓角)

ImageShack upload

+0

你應該發佈你的XML佈局。 –

+0

爲什麼不使用RelativeLayout來實現那個..然後你可以把包含圖像的imageview首先放在它的頂部,你會把幀圖像.. – Cata

回答

4

我不得不處理這個問題有app I recently made。請注意,在第一個和第二個屏幕截圖中,縮略圖是如何構成的。

爲了實現這一點,我將圖像和框架堆疊在一個FrameLayout中。首先,我佈置實際的圖像(@ id /縮略圖),然後是框架(@ id/frame)。

重要的事情需要注意的是,該縮略圖使用「fitXY」的scaleType,並有微弱的差距,因此彎道不會伸出框架的圓角後面。

這真的只適用於如果你的邊框不透明,所以你可能必須使你的框架邊緣與背景相同的顏色。

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="@dimen/thumbnail_size" 
    android:layout_height="@dimen/thumbnail_size" 
    android:layout_margin="5dp" 
    android:gravity="center" 
    android:orientation="vertical" 
    > 

    <ImageView 
     android:id="@+id/thumbnail" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center" 
     android:layout_margin="4dp" 
     android:scaleType="fitXY" /> 

    <ImageView 
     android:id="@+id/frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/pixel_frame" 
     android:scaleType="fitXY" /> 

</FrameLayout> 
+0

非常感謝!這像一個魅力 – Nznoonee

4

一個簡單的解決辦法是隻使用一個與android:backgroundImageView你的圖像2,你說的是容器,安德烈android:src對於此搜索,這是實際的圖像:

<ImageView 
    ... 
    android:background="@drawable/image2" 
    android:src="@drawable/image1" 
    android:padding="2dp" /> 

剛添加填充,以指定要在「框架」和實際「圖片」之間留出多少空白空間。

+0

不幸的是,這並沒有幫助以及下面的答案。有了這個,我看到我的背景圖像中有一些白色邊緣的主圖像,而我期待背景圖像通過它的形狀來裁剪主圖像。當我刪除填充,主圖像只是重疊背景! – Nznoonee

+0

我已經更新了我的初始答案,並鏈接到了三張圖片。這將闡明我的期望。我知道這可以通過形狀來實現,但不幸的是我不能在這種情況下使用這種方法 – Nznoonee

+0

你應該看看http://stackoverflow.com/questions/2459916/how-to-make-an-imageview-to-有圓角,因爲你將不得不圍繞你的圖像的角落。 –

3

使用的ImageButton ..設置背景爲圖像1和圖片src爲鏡像2

 <ImageButton 
      android:id="@+id/imageButton1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/image2" 
      android:src="@drawable/image1" />