2010-06-12 8 views
5

Tôi muốn sử dụng hình ảnh nhỏ (kích thước biểu tượng) làm nền cho chế độ xem của mình, nhưng nó được kéo dài để lấp đầy tất cả chế độ xem.Android: cách có hình nền ở giữa chế độ xem

Bất kỳ giải pháp nào (bao gồm một số cách để đặt chế độ xem bên dưới chế độ xem hiện tại của tôi và làm cho hình ảnh trong suốt) sẽ được đánh giá cao.

Cảm ơn!

mã hiện tại:

<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

làm thế nào bạn thiết lập các hình ảnh làm nền của bạn? cụ thể là – mtmurdock

+0

đã chỉnh sửa câu hỏi để bao gồm mã mẫu – tacone

+0

bản sao có thể có của [Căn giữa hình nền trong Android] (http://stackoverflow.com/questions/3847979/centering-a-background-image-in-android) –

Trả lời

11

Bạn có hai lựa chọn:

  1. Làm cho hình ảnh lớn hơn. Cụ thể, thêm một đường màu đen duy nhất xung quanh các cạnh của nó, sau đó sử dụng công cụ/draw9patch tool để làm cho đường màu đen là phần 'co dãn'. Khi hình ảnh được phóng to lên nền, biểu tượng ban đầu của bạn sẽ không bị kéo dài.

  2. Hãy từ bỏ trên nền Android: và sử dụng RelativeLayout cấp cao nhất thay thế. Điều này sẽ làm việc

<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> 

Hope this helps