我想为所有按钮设置特定的背景图像.
因此,我使用"draw9patch"工具(通过指定strecth行)将我的PNG文件更改为Ninepatch drawable.
然后,我使用"myBtn.setBackgroundResource(R.drawable.new_png);"将其作为背景应用于我的按钮.
现在,按钮显示背景,但是在Android屏幕上也可以看到拉伸线,无论我在工具中指定它们.
你能帮我吗?我如何使用该工具有什么问题吗?
我创建了一个9patch图像,不知怎的,它只是垂直拉伸.我尝试了其他9补丁图像,但它们具有相同的效果,在其他情况下它们可以工作.所以我认为9patch应该没问题.这是我的XML代码:
..
<ImageView
android:id="@+id/bottombar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:contentDescription="@string/app_name"
android:src="@drawable/bar" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
任何人都有同样的问题,知道如何解决它?
谢谢
在XHDPI中显示时,我遇到了9补丁图像的问题.
似乎Android中存在一个错误,因为在HDPI中显示时显示正确:

但是当在XHDPI中显示它会产生一种非常奇怪的效果(看看半透明的标签中间:

这很奇怪,在XHDPI中我无法理解为什么这样做.基本上de 9补丁是一行渐变,viewpager指示符需要一些透明边距:

我有一个按钮,文本需要水平对齐.当按钮没有9补丁作为背景时,重力工作正常.但是,一旦我添加一个9补丁作为背景,重力向左移动,无论重力设置为何,文本都拒绝让步.
我已经尝试将填充设置为0dip,-1px,@ null,如其他一些线程所示.他们都没有工作.我正在使用setBackgroundResource()从代码中更改背景,因为我的要求被固定到API级别8,因此设置背景的其他方法不是一个选项.此外,我不能使用选择器列表来执行此操作,因为我需要该按钮处于选中状态(如切换按钮).
有什么投入?
我有一个带有Android 4.2.1的Nexus 7,我在我的应用程序中注意到我用于某些线性布局的背景图像被错误地绘制.对于具有较旧版本Android OS的其他设备,可以正确绘制9补丁背景,但使用此设备时,边框线在不应拉伸时会拉伸.
正确(Evo 4G v2.3.5):http://i.imgur.com/WDTNr.png
不正确(N7 v4.2.1):http: //i.imgur.com/HntMY.png
知道是什么导致了这个吗?如果没有,有没有其他方法可以在不使用9补丁图像的情况下在这些视图上获得黑色边框?
编辑
9补丁文件:http: //i.imgur.com/LDoBE.png
编辑器工具中的9-patch:http: //i.imgur.com/UoydG.png
使用它布局xml部分(leftbordergraybkg):
<LinearLayout
android:id="@+id/Measurements"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="50"
android:background="@drawable/leftbordergraybkg"
android:orientation="vertical">
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用从play store apk中提取的card_background 9-patch,我无法正确地将9-Patch放置.这是我的模拟器运行此问题的图像.我正在尝试制作现在常用的典型卡片视图,但这只是我无法解决的问题之一.

我的9-Patch card_background:

我也非常确定9-Patch设置不正确,因为根据/ sdk/tools中的9-Patch工具,我使用的所有两个区域都是坏补丁但我不知道这意味着什么所以我希望一个你可以帮忙解决这个问题.
我正在尝试创建一个看起来像KitKat toast bacground的drawable:

但我不知道如何重新创建完整的圆形边,我总是最终得到一个圆角的矩形,如下所示:

或者两边不是圆的:

有关如何实现这一点的任何想法?
顺便说一句,只是设置Toast的颜色不起作用.
我有一个9补丁drawable作为XML.当我尝试使用它BitmapFactory.decode来获取位图时,它会返回null.无论如何从这个资源获取位图?
nine_patch.xml:
<?xml version="1.0" encoding="utf-8"?>
<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/empty_icon_video" >
</nine-patch>
Run Code Online (Sandbox Code Playgroud)
而代码是:
BitmapFactory.decodeResource(mResources, resId);
Run Code Online (Sandbox Code Playgroud) 我有一个像圆圈的图像.我想只拉伸它内部的一部分,我不想要它的拉伸边界.例如我的图像在下面相同

我将它设置为背景我的textview.i想要如果文本很大,它会在中心黑色圆圈中作为圆圈和文本位置拉伸.
我有一个九个补丁图像并给它一个这样的名字:
img.9.png
当我将它导入drawable-hdpi或drawable-xhdpi文件夹等等时,android studio无法识别图像并给我一个错误:
无法解析资源@ mipmap/img.9
无法将@ mipmap/img.9转换为drawable错误:(69,29)找不到与给定名称匹配的资源(在'background'处,值为'@ drawable/img').
此外,当我将这个9patch图像导入drawable文件夹时,android studio正确显示它,但是当我构建并运行应用程序时出错:
错误:(69,29)找不到与给定名称匹配的资源(在'background'处,值为'@ mipmap/img.9').
android ×10
nine-patch ×10
button ×2
background ×1
bitmap ×1
drawable ×1
java ×1
listview ×1
xml ×1