水平缩放NinePatch图像(没有子项,在RelativeLayout中)

时间:2012-04-07 04:32:51

标签: android

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

我没有多少使用NinePatch,但确实有其他NinePatches图像在其他区域工作(例如,作为带内容的视图的背景),正如预期的那样。

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

我首先尝试设置一个单像素垂直路径,然后添加一个单像素水平路径。没有不同。在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);

sample

我确定我错过了一些简单的东西,但无法弄明白。

任何见解都表示赞赏。

TYIA。

1 个答案:

答案 0 :(得分:1)

你误解了Ninepatch概念。尝试通过此图片了解enter image description here

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

enter image description here

尝试像这样创作。