2012-10-30 62 views
0

我是一名初學者,但希望能夠很快發佈應用程序。SeekBar:改變可繪製矩形代碼中的插圖

我的問題是,我想根據用戶/數據庫輸入具有彩色區域seekbar。

我已經嘗試了一些ShapeDrawable的東西,但我失去了友誼,唯一的結果是使seekbar完全黑色。

我不允許張貼圖片,但這裏是鏈接什麼,我要尋找一個Photoshop處理圖像: http://www.burninglobster.com/device-2012-10-29-155734ps.png

回答

0

您可以手動繪製根據您輸入的數據通過帆布位圖。

Bitmap.Config bmpConfig = Config.ARGB_8888; 
Bitmap bmp = Bitmap.createBitmap(seekbar.getWidth(), seekbar.getHeight(), bmpConfig); 
Canvas canvas = new Canvas(this.bmp); 
canvas.drawRect(...); // draw whatever you need 

seekbar.setBackgroundDrawable(new BitmapDrawable(bmp)); 

希望這會有所幫助。

+0

它的工作,但'可繪製'是'SeekBar',所以我用'seekbar.setProgressDrawable(...)' 我也有'seekbar.getWidth'即將到來的另一個問題0直到我第一次使用seekbar。 我還有一個問題:是否總是需要爲畫布設置一個位圖,以便使drawable可用於背景和類似物體? – NMKloster

+0

setProgressDrawable(...) - 當然,我的不好。至於零寬度,View在佈局後返回非零寬度。 如果你不想這樣使用位圖,你可以創建自己的SeekBar類,從系統繼承,並覆蓋'onDraw(Canvas canvas)'方法並繪製任何你需要的畫布。 –