我正在尝试使用水平拉伸的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);
我确定我错过了一些简单的东西,但无法弄明白。
任何见解都表示赞赏。
TYIA。
答案 0 :(得分:1)
你误解了Ninepatch概念。尝试通过此图片了解
您也可以尝试使用此BetterNinePatch工具http://android.elex.pe.kr/a-better-9-patch-tool:)
尝试像这样创作。