我有
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/ImageView01"
android:src="@drawable/phone80"></ImageView>
<ImageView android:id="@+id/ImageView02"
android:layout_height="wrap_content" android:src="@drawable/underline"
android:layout_width="fill_parent" android:layout_gravity="fill_vertical|fill_horizontal"></ImageView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
第一张图像是固定大小的图像,根本不应该缩放.它的右侧图像应水平缩放到最大空间.源指向有效的.9.png文件.不幸的是,它总是只显示其原始大小.我必须设置什么属性?ImageView是否是正确的对象?
谢谢.
我正在为我的应用程序制作9-Patch背景图像,我想知道在将其转换为9-Patch图像之前,我应该在Photoshop中制作初始PNG的大小?
谢谢亚伦
我刚做了九个补丁
http://i41.tinypic.com/f4fk35.png
它从draw9补丁工具中保存为border.9.png.
在我的Android布局编辑器中,它显示出它将是一个适当的9补丁图形,伸展但不像素化.
http://i39.tinypic.com/28bsi69.png
然而在一个真实的设备上,它只是显示一个巨大的拉伸图像,看到9patch指南,它看起来非常糟糕
http://i42.tinypic.com/eoshe.png
这是怎么回事???以及如何解决它
我的xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/border"
android:orientation="vertical"
android:padding="35dip" >
Run Code Online (Sandbox Code Playgroud) 我有一个问题,我无法用Android Studio 编译这个 9patch.它来自Google Play音乐应用程序,因此应该可以使用.我使用Androird SDK工具中的"draw9patch.bat"制作了一个9patch.但我只得到这个错误:"Gradle:边缘没有发现明显的区域. - 沿着上边缘找到."
任何帮助都会被估计!在此先感谢/Måns
请帮我理解何时我必须决定定义9个补丁图像.我所理解的是,9补丁图像只有在我定义了我的布局宽度和高度与确定的大小但实际上我没有那个大小的图像时才需要.比方说,我在布局定义中将背景大小设置为300*100.但是图像我有200*100,这比我需要的尺寸小.在这种情况下,如果我确定了9个补丁图像,将有助于正确配合而不会压缩所有设备的质量.
这里我习惯了9补丁.
现在,我想要理解的是,即使我已经将我们的布局定义定义为包装内容,9个补丁图像将在不同的屏幕分辨率上缩放,匹配父级在宽度和高度上没有明确的值.9-patch会根据屏幕分辨率进行缩放吗?
我正在尝试使用 9patch 图像格式,但当我尝试构建应用程序时出现此错误:
AAPT: error: file failed to compile
Run Code Online (Sandbox Code Playgroud)
有什么原因会导致这种情况发生?
我想要一个能够正确拉伸/缩放9个补丁图像的Javascript库.知道一个吗?
我正在测试HTC Desire,它是一个hdpi设备.查看图像时问题很明显:

以下是我的9补丁(使用标准9补丁工具制作)看起来(缩放)的方式:

左边的图像是我的photoshop文件,右边的图像是我设备的屏幕截图.正如您所看到的,存在巨大差异.让我们说阴影并不重要,但模糊的边界看起来很糟糕.
我的9补丁png错了吗?我该怎么做才能获得漂亮的1px实心边框?
当使用9补丁图像作为背景时,填充似乎总是来自9补丁图像.即使你没有在9补丁图像中使用填充条,它也使用了drawable.
如果未包含填充线,Android将使用左侧和顶部线来定义此可绘制区域.
http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
但是,您可以使用android:padding = 0dp或= Xdp在XML中覆盖它.不幸的是使用android:paddingLeft = Xdp不起作用.所以你坚持使用统一填充.我试过这样做:
android:padding="2dp"
android:paddingLeft="20dp"
Run Code Online (Sandbox Code Playgroud)
它对左边的填充没有影响.将它们放在styles.xml中会产生类似的结果.
我见过的唯一一个解决方法就是在代码中设置填充.
我有一个带有透明部分的9patch背景的按钮,但整个按钮有这样的暗色效果,如下所示:
这是按钮xml代码:
<Button
android:id="@+id/login_operator"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_margin="5dp"
android:background="@drawable/white_rounded"
android:drawableRight="@mipmap/arrow_white_down"
android:gravity="left|center_vertical"
android:text="@string/select_operator"
android:textAppearance="?android:attr/textAppearanceMedium" />
Run Code Online (Sandbox Code Playgroud)
以下是此按钮的外观:
这是9补丁背景图片:
这种变暗的效果只发生在Lollipop Android版本上..所以有谁知道这个变暗效果来自哪里?
android ×10
nine-patch ×10
android-view ×1
android-xml ×1
background ×1
imageview ×1
javascript ×1
padding ×1
xml ×1