1

水平方向に引き伸ばされたNinePatch画像を使用しようとしています。

私はNinePatchをあまり使用していませんが、予想どおり、他の領域で他のNinePatches画像が機能しています(たとえば、コンテンツを含むビューの背景として)。

私が経験していることの簡略版を添付しました。基本的に、ドットで中央のピクセルを水平に並べて表示します。画像は水平方向にのみ拡大します。他のビューは含まれていません。

最初に1ピクセルの垂直パスだけを設定してから、1ピクセルの水平パスも追加しました。変わりはない。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。

4

1 に答える 1

1

あなたはナインパッチの概念を誤解しています。この画像で理解してみてくださいここに画像の説明を入力

このBetterNinePatchツールを試すこともできますhttp://android.elex.pe.kr/a-better-9-patch-tool :)

ここに画像の説明を入力

このように作成してみてください。

于 2012-04-07T04:42:24.410 に答える