我无法理解,为什么这个9patch图像没有在我的Android应用程序中设置为ninepatch。 出于某种原因,它将其显示为常规png文件。
奇怪的是,draw9patch工具和Eclipse构建器都在UI设计器中正确显示图像(它正在正确展开),但不是在nexus 7上。
我正在附上图片。
这不是文件名,因为9patch是使用draw9patch工具创建的,文件名是“ google_button.9.png ”
这是XML代码
<Button
android:id="@+id/btn_googleplus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/google_button"
android:minWidth="300dp"
android:text="@string/login_login_with_google"
android:textColor="#ffffffff"
android:textStyle="bold"
android:textSize="19sp"
android:layout_marginTop="15dp"/>
答案 0 :(得分:0)
似乎9补丁不行,我简化为这个。请试一试。当我使用9个补丁时,我只放了顶部和左边的标记;我想在png周围放置标记会导致混乱。
答案 1 :(得分:0)
确保它处于drawable-hdpi状态,否则会重新缩放,并且有时一个像素黑色不能很好地缩放。对于这样的图像,最好将它们用于所有dpis
答案 2 :(得分:0)
9patch图像的背景是完全透明还是白色?
API指南说,
边框用于定义图像的可伸缩和静态区域。您可以通过在边框的左侧和顶部绘制一条(或多条)1像素宽的黑线来指示可伸展的部分(其他边框像素应该是完全透明或白色)。
答案 3 :(得分:0)
Lefteris,我发现本教程有助于理解为什么我在Photoshop中创建的NinePatch图像(图像和指南)存在问题:
http://radleymarx.com/blog/simple-guide-to-9-patch/
具体来说,这一段:
另外你应该记住一个像素的剩余区域 大纲必须完全透明。这包括四个角落 图像 - 那些应该总是很清楚。这可能更大 比你意识到的问题。例如,如果您缩放图像 Photoshop它将添加可能包含的消除锯齿的像素 几乎不可见的像素也会导致它失败*。如果你必须 在Photoshop中缩放,使用Resample中的Nearest Neighbor设置 图像下拉菜单(位于“图像大小”弹出菜单的底部) 保持指南上的锋利边缘。
我发现首先在Photoshop中准备图像,然后使用draw9patch工具绘制指南是创建工作 NinePatch图像的最佳方法。该工具的优点在于它将指出有问题的区域。如上所述,右侧和底部指南不是必需的,因为您可以通过将1px边框从您不想拉伸的顶部和左侧区域中轻松指定内容区域 - 以下是我需要放置的示例横幅屏幕的底部。我需要确保两个内容区域都没有延伸。此外,我还想确保左内容区域的左侧和右侧内容区域的右侧没有发生拉伸:
希望这有帮助。