拉伸图片的一部分,而不是整个(9patch)

时间:2014-02-08 15:12:03

标签: android image-processing nine-patch

问题在于: irregular size of the pictures making it ugly

正如你所看到的那样,黑色的时间线被搞砸了,或多或少地伸展了。

我实际上尝试了9次训练,但说实话,我并没有完成任何事情。

实际上可以解决我的问题吗?如果是的话,可以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

2 个答案:

答案 0 :(得分:2)

  1. 是的,可以使用9补丁。

  2. 您的9补丁文件错误。你已经颠倒了可伸展区域,这意味着此刻圆圈将被拉伸,而不是其他部分。

    只需绘制您希望图像拉伸的垂直边框,即您的情况下圆圈下方和上方的区域。

    同时删除水平线,因为我猜您不希望图像的宽度被拉伸。

  3. 您可能会发现this文档页面很有趣。

    编辑:我刚刚尝试了我解释的内容,并使用了这个9补丁:

    enter image description here

    请注意,圆圈不是100%居中,但它应该指向正确的方向。

答案 1 :(得分:0)

检查Simple Nine-patch Generator。您加载图像,指定可以拉伸的区域,并自动生成九个补丁图形(xxhdpi,xhdpi,hdpi,mdpi)作为zip包下载。