2016-06-28 62 views
2

我想實現如下:機器人:設定局部背景

enter image description here

訣竅是,我想要這樣做不添加黃色部分作爲單獨的視圖。這是一個問題,因爲這將是一個列表項目,並且爲了繪製背景而爲每個項目添加額外的視圖是我想避免的。

黃色矩形的大小可以是從0到整個視圖大小的任何值。這應該是一個百分比。

我的想法是擴展布局,並計算並繪製onDraw()方法的背景,但我想知道是否有更好/更簡單的方法。我試圖得到一個drawable,並使用setBounds()調整它的大小,但這並不起作用。

任何想法?

感謝

+0

「我的想法是擴展布局和計算並繪製onDraw()方法的背景,但我想知道是否有更好/更簡單的方法。「 - 就像它變得簡單一樣。一個寬度計算,一個調用'Canvas#drawRect()'。 –

+1

是的,這是我所做的,謝謝,但我確實無法確定性能,但我終於知道「一切」都會被繪製出來 – breakline

回答

-1

我想你可以設置背景和填充它,那麼你只需要改變的背景填充動態。

這樣的想法:

  1. 創建繪製形狀,並設置它來查看

  2. 使用ScaleDrawableClipDrawable改變它

+0

填充將適用於整個視圖,不僅適用於背景。 –

+0

你確定**形狀**的填充將適用於整個視圖嗎? – DEADMC

+0

yes look here http://android4beginners.com/2013/07/lesson-2-2-how-to-use-margins-and-paddings-in-android-layout/ –