2017-08-01 113 views
1

我想提請材料設計FLAT按鍵在Android上,爲我做了這個渲染:更改按鈕樣式編程

public class NativeFlatButtonRenderer : ButtonRenderer 
{ 
    protected override void OnElementChanged(ElementChangedEventArgs<Button> e) 
    { 
     base.OnElementChanged(e); 

     var oldElement = e.OldElement as NativeFlatButton; 

     if (oldElement != null) 
     { 
     } 

     var newElement = e.NewElement as NativeFlatButton; 
     if (newElement != null) 
     { 
      Control.SetBackgroundResource(Android.Resource.Style.WidgetMaterialButtonBorderless); 
     } 
    } 
} 

,並拋出Android.Content.Res.Resources + NotFoundException:資源ID#0x1030259
當我改變

if (newElement != null) 
{ 
    var button = new AppCompatButton(Context, null, Android.Resource.Style.WidgetMaterialButtonBorderlessColored); 
    SetNativeControl(button); 
} 

其繪圖,但沒有命令等所以我怎麼能畫FLAT按鍵與Android渲染?

回答

0

這很安靜。下面是創建本地控制ButtonRenderer方法:

protected override Android.Widget.Button CreateNativeControl() 
{ 
    return new Android.Widget.Button(this.Context); 
} 

所以我只需要重寫它並沒有我的完整呈現:

public class NativeFlatButtonRenderer : ButtonRenderer 
{ 
    protected override Android.Widget.Button CreateNativeControl() 
    { 
     var button = new AppCompatButton(Context, null, Android.Resource.Style.WidgetMaterialButtonBorderlessColored); 
     return button; 
    } 
}