2016-09-21 46 views
0

我製作了一個ViewCellRenderer,其中有兩個標籤和一個表示線(全高,2dp寬)的垂直視圖。現在,設置文本可以正常工作,但是當我嘗試更改視圖的背景顏色時,呈現器將其顯示爲透明。這裏是我的代碼:Android中的自定義渲染器不允許更改視圖的背景色

Android.Views.View colorStripe = v.FindViewById<Android.Views.View>(Resource.Id.llColorStripe); 
Android.Graphics.Color stripeColor = new Android.Graphics.Color(); 
stripeColor = stripeColor.FromHexString(x.StripeColor); 
colorStripe.SetBackgroundColor(stripeColor); 

x.StripeColor是十六進制顏色,我要爲每一個細胞動態地應用。我已經調試過,顏色構建正確並應用於視圖,但是當我繼續執行時,UI上沒有顏色條紋。我調試了層次結構視圖,我可以看到條紋有寬度和高度,但根本沒有背景色。但也有沒有問題的iOS:

enter image description here enter image description here

任何人都知道我怎樣才能解決這個問題?非常感謝!

+0

您是否嘗試過 Android.Graphics.Color stripeColor =新Android.Graphics.Color(); colorStripe.SetBackgroundColor(stripeColor.ToAndroid()); –

+0

沒有這樣的方法ToAndroid() –

+0

stripeColor是一個字符串,而不是Color類型。我從服務器獲取十六進制值作爲字符串,然後根據該十六進制計算RGB值。 –

回答

0

我修好了。而不是創建一個顏色變量,運用顏色串吧,我用Xamarin的功能ParseColor:

colorStripe.SetBackgroundColor (Android.Graphics.Color.ParseColor (x.StripeColor)); 
相關問題