2014-02-08 72 views
2

這裏的一部分的問題是: irregular size of the pictures making it ugly拉伸圖片,而不是整個(9patch)

正如你可以看到黑色的時間線被搞砸了,或多或少地拉伸。

我實際上嘗試了9次修補,但老實說我沒有得到整個事情。

實際上可以解決我的問題嗎?如果是的話,可以爲圖片打補丁嗎?如果是,如何?

作爲一個額外的,我給你每行的XML:

<?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="horizontal" > 

<TextView 
    android:id="@+id/date" 
    android:layout_width="130dp" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical" 
    android:paddingLeft="30dp" 
    android:textSize="20sp" /> 

<ImageView 
    android:id="@+id/point" 
    android:layout_width="40dp" 
    android:layout_height="match_parent" 
    android:scaleType="fitXY" /> 

<TextView 
    android:id="@+id/description" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingLeft="5dp" 
    android:textSize="20sp" /> 

</LinearLayout> 

測試1:

enter image description here

測試2:

與此圖片:

enter image description here

我得到這樣的結果: enter image description here

測試3: enter image description here

+1

你可以分享你試過的9個補丁嗎? – fiddler

+0

編輯圖片。我實際上嘗試了其他一些,但令人驚訝但不令人滿意的結果......這是用於截圖的那一個。 –

回答

2
  1. 是的,它通過使用9補丁是可能的。

  2. 您的9補丁文件是錯誤的。您已將可伸縮區域翻轉,這意味着此時圓圈將被拉伸,而不是其他部分。

    只需在想要延伸圖像的位置繪製垂直邊框,即您的案例中圓圈的下方和上方的區域。

    也刪除水平線,因爲我猜你不希望圖像的寬度被拉伸。

您可能會發現this文檔頁有趣。

編輯:我只是快速試了一下我解釋,並使用該9補丁的工作:

enter image description here

請注意,這個循環是不是100%的中心,但它應該指向你在正確的方向。

+0

編輯嘗試您的建議 –

+0

編輯我的答案。 –

+0

錯誤的文件,現在糾正。 –

0

檢查Simple Nine-patch Generator。您加載圖像,指定可以拉伸的區域,然後他會自動生成九個補丁圖形(xxhdpi,xhdpi,hdpi,mdpi)以作爲zip包下載。

+0

很酷的工具。仍然堅持這個問題。 –

+0

嘗試從一側拉伸(圓不會在中間)。如果一切都失敗,則使用2張圖片作爲矩形,另一張作爲圓圈,並將圓圈對齊,以垂直居中在矩形的頂部。 –