2017-08-01 6 views
1

私は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を
iは

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

その図面ではなく、コマンドなどなしに変更する場合ので、私はアンドロイドのレンダラでフラットボタンを描画することができますか?

答えて

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; 
    } 
} 
関連する問題