我正在尝试使用水平拉伸的NinePatch图像。

我没有使用NinePatch太多,但是确实有其他NinePatches图像在其他区域(例如,作为具有内容的Views的背景)工作。

我已附上我所经历的简化版本。基本上,我希望该点将中心像素水平平铺。图像只会水平扩展。它不包含任何其他视图。

我首先尝试只设置一个像素垂直路径,然后又添加了一个像素水平路径。没有不同。在NinePatch工具的预览面板中,它看起来不错。

根据下面的代码示例,它正在RelativeLayout中使用。我加入了已注释掉的行,作为我尝试过的其他设置。

track = new ImageView(context);
track.setScaleType(ScaleType.FIT_XY);
//track.setScaleType(ScaleType.FIT_CENTER);
track.setBackgroundResource(R.drawable.bg_track);
//track.setImageResource(R.drawable.bg_track);

LayoutParams trackLayout = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
//LayoutParams trackLayout = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
trackLayout.addRule(RelativeLayout.CENTER_VERTICAL);
trackLayout.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
trackLayout.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

addView(track, trackLayout);




我确定我缺少一些简单的东西,但无法弄清楚。

任何见解都表示赞赏。

TYIA。

最佳答案

您误解了Ninepatch概念。尝试通过这张图片来理解

您也可以尝试使用此BetterNinePatch工具http://android.elex.pe.kr/a-better-9-patch-tool :)



尝试这样创建。

关于android - 水平缩放NinePatch图像(在RelativeLayout中没有子级),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10051771/

10-09 12:49