标签: nine-patch

自定义视图组上的九个补丁

我制作了一个9补丁和一个自定义视图组,然后我将该视图组的背景设置为九补丁.

问题是:九补丁忽略了"内容区域"设置.

那么:我如何在自定义视图中正确使用九个补丁?

要么:

我如何从九个补丁中获取内容区域,以便我可以在OnMeasure和OnLayout数学上使用它?

android custom-view nine-patch viewgroup

4
推荐指数
1
解决办法
949
查看次数

使用重复模式创建9补丁

iam坚持为进度条背景创建一个九个补丁.它有一个重复的模式,如尺子scala,让我头痛.

这是我想要的(在底部)和我拥有的(顶部)的图像. 9补丁问题

谁能给我一个提示如何实现我的目标?

编辑:或者是否可以通过9patch执行此操作?我的另一个尝试是使用android:tileMode ="repeat",但是我的图像高度出现问题(在第二行重复),我需要像repeat-x这样的东西.

提前致谢

edit2:好吧我设法通过拉伸整个重复模式来重复9patch,但它不理想:(

android drawable nine-patch

4
推荐指数
1
解决办法
3236
查看次数

使用9补丁drawable动态更改AppWidget的背景

类中没有setBackground()方法RemoteViews,所以我使用了以下解决方法:

  1. FrameLayout为我的应用程序小部件创建了一个ImageView作为背景视图.
  2. ImageView使用setImageViewResource()方法更改了图像.

不幸的是,当涉及9-patch drawables时,这种方法不起作用.当一个ImageView's android:src属性指向9-patch时 - 它也不起作用.有没有办法AppWidget用9-patch drawable以编程方式改变背景图像?提前致谢.

编辑 将9-patch设置为XML中的初始背景:

<ImageView
    android:id="@+id/small_widget_layout_bg"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background_lime" />
Run Code Online (Sandbox Code Playgroud)

当我使用android:src="@drawable/background_lime"它不能正确拉伸图像,这段代码工作正常.以及从AppWidgetProvider onUpdate方法更改背景的代码:

views.setImageViewResource(R.id.small_widget_layout_bg,
                    R.drawable.backgroung_lime);
Run Code Online (Sandbox Code Playgroud)

这不会将图像拉伸为9补丁.

android background-image drawable nine-patch android-appwidget

4
推荐指数
1
解决办法
3402
查看次数

动态设置9patch背景

有没有人试图动态设置9Patch背景的按钮?如果重要,则按钮的宽度和高度设置为wrap_content

如果是的话,你是如何解决"黑线"问题的?

谢谢

android background button nine-patch

4
推荐指数
1
解决办法
1861
查看次数

Google即时投影视图

我想要像Google Now Cards这样令人敬畏的阴影.我该如何创建它?我一直在谷歌搜索,但没有找到我的问题的任何答案.我已经尝试了这个答案,但我只得到这样的结果:

是的,我的九点结束了.9.png.

android nine-patch dropshadow google-now

4
推荐指数
1
解决办法
6073
查看次数

如何删除9-patch背景中的填充以进行textview

我有一个textview,必须使用9-patch drawable作为背景.但是9-patch drawable有左右填充,这使得背景图像不能正确拉伸以覆盖整个文本.我尝试重置textview本身的填充,但它不能解决问题.

有人会有任何想法如何让它工作?

谢谢.

android padding stretch textview nine-patch

4
推荐指数
1
解决办法
3519
查看次数

9patch图像和Android Studio构建失败

我有一个有趣的问题,我不知道如何处理它.所以,直到现在一切都很好,我能够建立我的项目.我只用三种不同尺寸(mdpi,hdpi,xhdpi)的9patch版本替换了一个图像.

tw.setBackgroundResource(R.drawable.tag_rotate)
Run Code Online (Sandbox Code Playgroud)

这是建筑物失败的线.它很有趣,因为工作室能够向我显示左侧的图像,并且它没有标记为红色.但是构建失败并显示以下消息:

Error:(196, 52) error: cannot find symbol variable tag_rotate
Run Code Online (Sandbox Code Playgroud)

更新: 如果我从代码中删除图像,并替换为普通图像,它的工作原理!我使用SDK提供的默认9patcher

android nine-patch android-studio

4
推荐指数
1
解决办法
3865
查看次数

如何使九个补丁图像只能水平扩展?

我有一个九个补丁图像,我想在视图中垂直居中,只有它水平扩展.

我已经尝试在九个贴片上放置两个可扩展区域(一个在上面,一个在下面)但是根据屏幕的密度,如果视图最终是偶数像素高而九个贴片是奇数高,那么图像稍微休息一下

有任何想法吗?

谢谢

android nine-patch

3
推荐指数
1
解决办法
5690
查看次数

9补丁不起作用

我在Android上遇到了9-patch png的奇怪问题.它已经在Eclipse可视化编辑器中失败了,无论我使用哪个目标(尝试了7到14之间的几个).错误日志显示消息main.xml:索引:0,大小:0 背后的异常是:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at com.android.ninepatch.NinePatchChunk.draw(NinePatchChunk.java:185)
at com.android.ninepatch.NinePatchChunk.draw(NinePatchChunk.java:101)
at android.graphics.NinePatch_Delegate$1.draw(NinePatch_Delegate.java:219)
at com.android.layoutlib.bridge.impl.GcSnapshot.drawInLayer(GcSnapshot.java:613)
at com.android.layoutlib.bridge.impl.GcSnapshot.draw(GcSnapshot.java:583)
at android.graphics.NinePatch_Delegate.draw(NinePatch_Delegate.java:217)
at android.graphics.NinePatch_Delegate.nativeDraw(NinePatch_Delegate.java:170)
at android.graphics.NinePatch.nativeDraw(NinePatch.java)
at android.graphics.NinePatch.draw(NinePatch.java:120)
at android.graphics.drawable.NinePatchDrawable.draw(NinePatchDrawable.java:189)
at android.view.View.draw(View.java:10865)
at android.view.ViewGroup.drawChild(ViewGroup.java:2899)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2495)
at android.view.ViewGroup.drawChild(ViewGroup.java:2897)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2495)
at android.view.ViewGroup.drawChild(ViewGroup.java:2897)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2495)
at android.view.View.draw(View.java:10883)
at android.view.ViewGroup.drawChild(ViewGroup.java:2899)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2495)
at android.view.ViewGroup.drawChild(ViewGroup.java:2897)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2495)
at android.view.View.draw(View.java:10883)
at android.view.ViewGroup.drawChild(ViewGroup.java:2899)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2495)
at android.view.View.draw(View.java:10883)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:505)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:324)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:372)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1323)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1077)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:903)
at …
Run Code Online (Sandbox Code Playgroud)

android nine-patch

3
推荐指数
1
解决办法
5665
查看次数

如何在Wpf-app中使用9补丁图像

我需要在WPF-app中创建和使用9-patch图像(*.9.png,就像在android中一样)!
只有一个问题 - 如何?

c# wpf android nine-patch

3
推荐指数
1
解决办法
2306
查看次数