2016-08-29 11 views
0

私はXamarinフォーラムで同じ質問をしましたが、誰も私の質問に答えませんでした。Xamarin labsのチェックボックスが機能しない

私は以下のようにX labsと私のコードを使用しています。

ポータブルプロジェクトのMy ContentPage;

public class CheckBoxPage : ContentPage 
{ 
    public CheckBoxPage() 
    { 
     CheckBox check = new CheckBox 
     { 
      TextColor = Color.Red, 
      BackgroundColor = Color.Black, 
      HorizontalOptions = LayoutOptions.FillAndExpand 
     }; 
     CheckBox unCheck = new CheckBox 
     { 
      TextColor = Color.Yellow, 
      BackgroundColor = Color.Black, 
      HorizontalOptions = LayoutOptions.FillAndExpand 
     }; 
     Content = new StackLayout 
     { 
      Children = { 
       check, unCheck 
      } 
     }; 
    } 
} 

アンドロイドとiOSの外観が異なります。 iOS Appearenceはチェックボックスのようなものではありません。しかし、Androidはうまくいきます。どうして?

Android Appearence is

iOs appearence is

答えて

0

私はあなたのコードと一緒に同じサンプルを実行してみました。

私もiOSで同様の出力を得ています。

これはXLabsの問題であると思われます。確認したところ、themで提出された問題がいくつか見つかりました。

より適切なものはこれです:おそらく

、それは最高の同じスレッドに参加することになります。

また、あなたはこれに試してみることができます。

はそれが役に立てば幸い!

1

ありがとうございました

デザインについては編集できません。だからコード例がある。

class CheckBox : Image 
{ 
    public CheckBox(bool isChecked) 
    { 
     Resources = new ResourceDictionary(); 

     if(isChecked) 
      Resources.Add("ImageName", "checked.png"); 
     else 
      Resources.Add("ImageName", "unchecked.png"); 

     var resourceName = Resources["ImageName"]; 
     Source = ImageSource.FromFile(resourceName.ToString()); 

     TapGestureRecognizer t = new TapGestureRecognizer(); 
     t.Tapped += OnScreenTapped; 
     this.GestureRecognizers.Add(t); 
    } 

    public void OnScreenTapped(object sender, EventArgs args) 
    { 
     var resourceName = Resources["ImageName"]; 
     if (resourceName.ToString() == "unchecked.png") 
     { 
      Resources["ImageName"] = "checked.png"; 
      Source = ImageSource.FromFile("checked.png"); 
     } 
     else 
     { 
      Resources["ImageName"] = "unchecked.png"; 
      Source = ImageSource.FromFile("unchecked.png"); 
     } 
    } 

    public bool isChecked() 
    { 
     var resourceName = Resources["ImageName"]; 
     if (resourceName.ToString() == "unchecked.png") 
      return false; 
     else 
      return true; 
    } 
} 

このcustomCheckBox

CheckBox mychceck = new CheckBox(true); 

を使用して、このデザインをカスタマイズするための、よりuserfullです。

関連する問題