2012-04-24 59 views
0

我試圖找出一種方法來對齊2個圖像。第一幅圖像是邊界圖像(像寶麗來),第二幅圖像。圖片應在邊界(大約從左側與真實的邊界圖像的頂部20dp)的拐角處開始,但這個距離上,你有什麼不同的屏幕...對齊2個圖像,所以第一個作爲第二個邊框的邊框

  <RelativeLayout 
               android:layout_width="fill_parent" 
               android:layout_height="wrap_content" > 

               <ImageView 
                   android:id="@+id/image" 
                   android:layout_width="wrap_content" 
                   android:layout_height="wrap_content" /> 

               <ImageView 
                   android:layout_width="fill_parent" 
                   android:layout_height="wrap_content" 
                   android:adjustViewBounds="true" 
                   android:src="@drawable/border" /> 
           </RelativeLayout> 

這是我現在得到:

enter image description here

最難的事情是圖像不應該跳出邊界圖像和全景後面的背景(邊框+圖片)是可變的!

+0

也許你可以使用這個問題的答案: http://stackoverflow.com/questions/3263611/border-在圖像中查看在Android – 2012-04-24 09:28:43

+0

不,我需要圖像作爲邊界... – Ferdau 2012-04-24 09:31:35

回答

1

我想你應該讓你的邊界圖像9補丁: http://developer.android.com/guide/developing/tools/draw9patch.html

+0

那麼我的回形針會不會伸出來呢? – Ferdau 2012-04-24 09:59:46

+0

我認爲這可能是走出邊界,放在左上角並堆放在頂部? – Daniele 2012-04-24 10:05:49

+2

@Ferdau:不,您可以輕鬆創建一個包含回形針在不可拉伸區域的9貼圖。就個人而言,我會先嚐試這種方法,然後再進入將多個視圖堆疊在一起的方向。 – 2012-04-24 11:06:33

0

最好的辦法是使用「邊界」的形象作爲佈局的背景繪製,然後在該佈局圖像的位置:

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/polaroid_background" 
    android:padding="20dp"> 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</RelativeLayout> 

我沒有測試過這只是現在,但它是大約你會做什麼。

+0

那麼,不會適用於所有的屏幕尺寸...由於20dp的填充有時會變大... – Ferdau 2012-04-24 09:36:02

+1

@Ferdau:20dp將根據像素密度進行放大/縮小,但您會遇到與其他方式相同的問題。您需要確定您需要邊框的像素數量。 – 2012-04-24 09:37:07

+0

這就是我認爲...太糟糕了,謝謝你的時間! – Ferdau 2012-04-24 09:39:38

0

我不得不處理類似的問題,back_img,img,文本。我可以在一個非常糟糕的方式,通過樣式(爲每個不同的屏幕大小)對付它,但我發現的唯一的事情是工作......

我設置的LinearLayout,並把3個IMGS另外的LinearLayout

LinearLayoutLine //wrap content\\ 
    LinearLayoutImg1 //wrap content + marginRight\\ 
     Img11 
     Img12 
     Text13 
    /LinearLayoutImg1 

    LinearLayoutImg2 
     Img21 
     Img22 
     Text23 
    /LinearLayoutImg2 
/LinearLayoutLine 

在樣式,像這樣:

<style name="img1"> 
     <item name="android:layout_width">85dp</item> 
     <item name="android:layout_height">85dp</item> 
     <item name="android:layout_marginLeft">1dp</item> 
     <item name="android:layout_marginRight">2dp</item> 
     <item name="android:layout_marginTop">1dp</item> 
     <item name="android:layout_marginBottom">1dp</item> 
     <item name="android:gravity">center</item> 
     <item name="android:scaleType">fitXY</item> 
    </style> 

    <!-- imatge del tema --> 
    <style name="img2"> 
     <item name="android:layout_width">82.6dp</item> 
     <item name="android:layout_height">82.6dp</item> 
     <item name="android:layout_marginLeft">-87dp</item> 
     <item name="android:layout_marginRight">0dp</item> 
     <item name="android:layout_marginTop">0dp</item> 
     <item name="android:layout_marginBottom">0dp</item> 
     <item name="android:gravity">center</item> 
    </style> 

    <style name="text" parent="@android:style/TextAppearance.Small"> 
     <item name="android:layout_width">66dp</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:lines">1</item> 
     <item name="android:gravity">center</item> 
     <item name="android:layout_marginBottom">-25.3dp</item> 
     <item name="android:layout_marginLeft">-75dp</item> 
     <item name="android:textStyle">normal</item> 
     <item name="android:textSize">10.5sp</item> 
     <item name="android:textColor">@color/blanc</item> 
    </style> 

所以,你設置IMG1一點點保證金大小(我發現有時你需要在IMGS即保證金),而第二個負IMG1寬度+ rightMargin並在需要的情況下,文字。

+0

那麼我的圖片應該填滿屏幕...所以硬編碼的寬度不是一個選項...感謝帖子,但! – Ferdau 2012-04-24 09:47:26

+0

然後您沒有圖像:P怎麼辦?用框架寬度/高度創建2個圖像(取決於它們是上/左),將它們設置爲不可見並將新圖像設置爲rightTo和Under這些圖像?如果他們的尺寸與您的相框尺寸相同,則應該這樣做。 – Jordi 2012-04-24 09:53:22

+0

問題在於回形針覆蓋... – Ferdau 2012-04-24 09:58:20

相關問題