2011-06-21 55 views
0

私はレイヤードローイングを使用していますが、その内部には水平方向にのみ繰り返す1つのBitmapDrawableがあります。しかし、私はこのdrawableの罫線を追加する必要があります。 しかし、私はこれのための解決策を見つけませんでした!水平に繰り返すドロワブルの罫線を設定する方法は?

ShapeDrawableを作成し、ShapeDrawableの背景としてBitmapDrawableを設定しようとしましたが、不可能です。 ShapeDrawableの罫線を追加するメソッドを見つけようとしましたが、見つからなかった。

私はbox_top_leftとbox_top_rightの2つのイメージも追加しました。 このアイディアでは、今度は、この順序で表示させるだけです: box_top_left、box_repeat、box_top_right。 しかし、私もこれをするのに問題があります!

私はxmlでdrawableのパディングを変更するいくつかの方法を見つけましたが、実行中ではありません。私は合計の幅を知らないので、私はxmlに設定することはできません。 そして、私の描画可能なイメージをイメージの正確な幅にする方法が見つかりませんでした。

誰かが私を助けることができます、plz?

私がしたいことを理解するのに役立ついくつかの画像を投稿します。 最初のイメージはどのようにすべきである:テキスト「AcessoのAO SISTEMA」の上に、上部に、私のダイアログインサイド

image 1

私は繰り返しをsould自分のイメージを持っています。 私のダイアログのシェイプであるアイテムと、BitmapDrawableを水平方向にのみ繰り返すアイテムを持つDialogの背景にレイヤードローラーブルを使用しました。

この2番目の画像は、box_top_leftとbox_top_rightを追加するために欠けています。 image 2

この第三の画像は私が国境を使用していないときに何が起こるかです: image 3

そして、あなたが問題を確認するのに拡張最後の画像は、第三の画像です:あなたのための image 4

感謝を注意。

答えて

0

私はこのためにnine-patchを使用すると、あなたの人生がずっと楽になると思います。

+0

ナインパッチは画像を伸ばすだけで解決できません。私はそれらのピクセルをstrecthできません、彼らは水平に繰り返す必要があります。 (私はすでにこれを試しました) – Leandroid

0

レイヤリストを試して、2つの項目を定義できると思います。 1つのアイテムは、境界線としてストロークを追加できるシェイプで、もう1つはtileModeを繰り返して繰り返すように設定できるビットマップです。

このメソッドを使用して自分のタスクを実装しました。そして、私は既に修正された1つの問題に遭遇しました。バグは、反復領域には画像間にいくつかの線があるようです。これは、デフォルトの黒い背景を持つ形状によって引き起こされる可能性があります。そこで、図形の色を透明に設定しました。

これはうまくいくでしょう~~

関連する問題