2010-06-12 123 views
5

我想使用一個小的(圖標大小)圖像作爲我的視圖的背景,但它會被拉伸以填充所有視圖。Android:如何在視圖中使用居中的背景圖像

任何解決方案(包括某種方式來放置在我目前的一個視圖,並使後者透明)將不勝感激。

謝謝!

當前代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/icon" 
    android:id="@+id/layout_main" 
> 
+0

你是如何設置圖像作爲背景?請具體 – mtmurdock 2010-06-12 22:34:07

+0

編輯該問題以包含示例代碼 – tacone 2010-06-12 22:53:56

+0

[在Android中定位背景圖像]可能的副本(http://stackoverflow.com/questions/3847979/centering-a-background-image-in-android) – 2012-06-28 13:01:15

回答

11

你有兩個選擇:

  1. 使圖像更大。具體而言,在其邊緣添加一條黑色線條,然後使用工具/ draw9patch工具將該黑色線條設爲「可拉伸」部分。當圖像放大到背景時,原始圖標不會被拉伸。

  2. 放棄android:background並使用頂層的RelativeLayout來代替。這應該工作

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ImageSwitcher 
     android:id="@+id/ImageSwitcher01" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:layout_height="wrap_content" 
     android:background="@drawable/icon"> 
    </ImageSwitcher> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true"> 
     <TextView 
      android:text="Your old top level here" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content"> 
     </TextView> 
    </LinearLayout> 
</RelativeLayout> 

希望這有助於