2014-01-29 16 views
0

背景圖像的大小我想創建這樣的背景下於Android的一個觀點:這對於Android的

enter image description here

在標題應該是兩個TextViews和圖標,內容可以是不同的。我現在的問題是,我不知道用戶設備上的TextView(或其他視圖)的大小。那麼我應該在哪種尺寸下存儲圖片,以便在所有設備上正確顯示?當然,我不想浪費存儲在我的應用程序中的這張照片,所以我應該是最小的尺寸。

或者是否可以在一個形狀中創建類似這樣的內容(特別是標題和內容之間的陰影 - 只有兩行黑白兩色,透明度爲12%)?

回答

2

您可以爲此使用9patch圖像。細節可以找到here,但基本上你只需要一個2×1像素的圖像。然後,您可以使用鏈接中描述的工具來生成9patch文件,您將其用作圖像文件。然後,Android根據屏幕的寬度智能地拉伸圖像。

好吧,編輯:

我決定幫你多一點。 NinePatch工具是正確的,它看起來至少需要2x4大。我很快在GIMP

然後我導入到了NinePatch工具由一個小圖像,並設置相應的不可拉伸部分

然後我導入到我的drawable- nodpi文件夾並在ImageView中引用它。請確保您使用android:scaleType="fitXY"

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:background="#FFC2C2C2" > 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="25sp" 
    android:padding="5dp" 
    android:text="Header" /> 

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="fitXY" 
    android:src="@drawable/gradient_line_image" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="25sp" 
    android:padding="5dp" 
    android:text="Content" /> 

</LinearLayout> 

這給了我

只是櫃面你想的那樣,這是我的9patch文件

我不知道在所有你的意思是「這兩個TextViews在頭」雖然...

+0

好的,謝謝你,但如果我想在9補丁程序中打開一個2×1像素的圖像,它將無法打開它。用更大的圖像是沒有問題的。任何想法爲什麼?我該如何確保兩個TextView都在標題中? – Cilenco