カスタムレンダラを作成しようとするのは初めてです。私はここでこのスレッドに従った:https://forums.xamarin.com/discussion/32264/how-can-i-change-switch-text-color-android。私は、サンプルコードを載せた最初の人を見ました。私は自分のレンダラでそれを使用しようとしましたが、それは次のエラーを与える:ここXamarin - カスタムスイッチが動作しない
Type or namespace 'controls' doesn't exist in 'saleskicker'
は私のコードです:
using System;
using Xamarin.Forms.Platform.Android;
using Xamarin.Forms;
using SalesKicker;
[assembly:ExportRenderer(typeof(SalesKicker.Controls.CustomSwitch), typeof(CustomSwitchRenderer))]
namespace SalesKicker
{
public class CustomSwitchRenderer : SwitchRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.TextOn = "AAN";
Control.TextOff = "UIT";
Control.SetTextColor(Color.White);
}
if (Control.Checked == true)
{
Control.SetBackgroundColor(Color.Green);
}
}
}
}
私は内部クラスを持っていたときただし、エラーは表示されませんでした'CustomRenderers'というフォルダ。しかし、私はこれが大したことではないと思います。私はここで間違って何をしていますか?誰か助けてくれますか?
これはDroidプロジェクトの単なるレンダラです。また、共有PCLプロジェクトに参加する "CustomSwitch"共有コントロールクラスの実装を確認する必要があります。 – irreal
私は 'SalesKicker.Controls.CustomSwith'を 'Switch'だけに変更しなければなりませんでした。 –
これは、あなたのアプリケーション内のすべてのスイッチを変更したいときは大丈夫です。いくつかの特定のスイッチを異なるものにしたい場合は、共有プロジェクトに「CustomSwitch」というスイッチのサブクラスを作成して、すでに行ったようにレンダラーを作成します。 – irreal