1

我正在尝试使用 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);

样本

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

任何见解都值得赞赏。

蒂亚。

4

1 回答 1

1

你误解了 Ninepatch 的概念。试着通过这张图来理解在此处输入图像描述

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

在此处输入图像描述

尝试像这样创建。

于 2012-04-07T04:42:24.410 回答