2016-06-28 9 views
2

を設定し、私は次のことを実現したいと思います:アンドロイド:部分背景

enter image description here

トリックは、私は別のビューとして黄色の部分を追加することなく、これを実行したいということです。これは問題であり、これはリスト項目であり、バックグラウンドを描画するためだけに各項目の追加ビューを追加することは避けたいものです。

黄色の矩形のサイズは、0から全体のビューのサイズまでの任意の値にすることができます。これはパーセンテージを表すはずです。

私の考えは、レイアウトを拡張し、onDraw()メソッドでバックグラウンドを計算して描画することでしたが、より良い/簡単な方法があるかどうかを知りたいと思います。私はdrawableを取得しようとし、setBounds()でサイズを変更しようとしましたが、うまくいきませんでした。

アイデア?私はあなたがあなただけの動的な背景のパディングを変更する、それを背景とパディングを設定することができると思い

おかげ

+0

を変更する

  • 使用ScaleDrawableClipDrawableを表示するように設定し、 onDraw()メソッドでバックグラウンドを計算して描画しますが、より良い/簡単な方法があるかどうかを知りたい」それはそれが得られるほど簡単です。 1回の幅計算、 'Canvas#drawRect()'への1回の呼び出しです。 –

  • +1

    ええ、これは、私がやったこと、おかげで、パフォーマンスについては確かめませんでしたが、私は最終的に "すべて"とにかく描かれていると思っています – breakline

    答えて

    -1

    だから、アイデア:

    1. は描画可能な形状を作成し、それを「私の考えは、レイアウトを拡張することでした

    +0

    パディングはバックグラウンドだけでなく全面的に適用されます。 –

    +0

    **形状**のパディングが全体の視野に適用されますか? – DEADMC

    +0

    はい、ここを見てくださいhttp://android4beginners.com/2013/07/lesson-2-2-how-to-use-margins-and-paddings-in-android-layout/ –

    関連する問題