2016-07-20 42 views

答えて

16

は、あなただけのドロイドプロジェクトでレンダラを作成して、透明またはその他の色でBackroundColorを設定する必要があります。 PCLを使用してプロジェクトのために

[assembly: ExportRenderer(typeof(Button),typeof(FlatButtonRenderer))] 
namespace Project.Droid 
    { 
     public class FlatButtonRenderer : ButtonRenderer 
     { 
      protected override void OnDraw(Android.Graphics.Canvas canvas) 
      { 
       base.OnDraw(canvas); 
      } 
     } 
    } 

XAMLでは:

<Button BackgroundColor="Transparent" Text="ClickMe"/> 
+1

信じられないほど、私はそのクラスを作成し、境界線が動作し、影がアンドロイドで削除されました。 Tks。 –

5

より詳細に説明します。

using Android.App; 
using Android.Content.PM; 
using Android.OS; 
using Xamarin.Forms.Platform.Android; 
using ProjectName.Droid; 
using Xamarin.Forms; 

[assembly: ExportRenderer(typeof(Xamarin.Forms.Button), typeof(FlatButtonRenderer))] 
namespace ProjectName.Droid 
{  
    public class FlatButtonRenderer : ButtonRenderer 
    { 
     protected override void OnDraw(Android.Graphics.Canvas canvas) 
     { 
      base.OnDraw(canvas); 
     } 
    } 
} 
+0

これは動作しますが、すべてのボタンの影を削除します。 – Tonatio

+0

新しいタイプのボタンを派生させることができます。そして、そのボタンにのみ適用する –

0

@Tonatioあなたのレンダラではなく、この

[assembly: ExportRenderer(typeof(YourCustomButton), typeof(FlatButtonRenderer))] 

はあなたがXamarin.Forms.Buttonから継承CustomButton制御を行う必要があります

[assembly: ExportRenderer(typeof(Xamarin.Forms.Button), typeof(FlatButtonRenderer))] 

使用を使用し、通常のボタンの代わりにxamlのカスタムボタンを使用します。それは物事を行う必要があります

 //Add references to your custom control 
     xmlns:controls="clr-namespace:YourNameSpace.Controls" 
    //Use control 
    <Grid> 
      <controls:YourCustomButton x:Name="_customButton"/> 
    </Grid> 

あなたがいくつかの助けを必要とする場合は気軽に落ちてください。

関連する問題