2017-08-23 28 views
2

カスタムレンダリングを使用してアプリケーションでラジオボタンとチェックボックスコントロールを実装しました。私は下のリンクを参照してコントロールをレンダリングしました。コントロールのデフォルトの色は白です。アプリケーションの背景色が白であるため、コントロールは表示されません。私はコントロールの色を変更しようとしました。しかし、それは動作していません。テキストの色のみが変化します。誰もチェックボックス/ラジオボタンコントロールの色を変更する方法を提案できますか?事前にXamarinのチェックボックス/放射状の色を変更するには?

https://github.com/XLabs/Xamarin-Forms-Labs

感謝。

答えて

1

あなたはにラインコードの下に使用してXamarin.Formsはレンダラから色(スイッチのような)を制御設定することができますが、方法OnElementChanged:あなたのXLab制御ため

Control.OnTintColor = Color.Blue.ToUIColor(); 

を、あなたは背景を設定する必要がありますCheckBoxRendererで色を変更し、OnElementChangedメソッドで色を変更します。コントロールから変更することもできます。 Androidのについては

BackgroundColor = Element.BackgroundColor.ToUIColor(); 

次のように材料設計により管理することができます。これで新しいstyle.xmlファイルを作成します(あなたが好きなようにcolorAccentで色を変更)とリソースフォルダ内に置く

<?xml version="1.0" encoding="UTF-8"?> 
<resources> 
    <style name="MyTheme" parent="MyTheme.Base"> 
    </style> 
    <!-- Base theme applied no matter what API --> 
    <style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- colorAccent is used as the default value for colorControlActivated which is used to tint widgets --> 
     <item name="colorAccent">#0000FF</item> 
     <!-- You can also set colorControlNormal, colorControlActivated colorControlHighlight and colorSwitchThumbNormal. --> 
    </style> 
</resources> 

次に、そのテーマを読み込むためにMainActivity.csに属性を追加します。

[Activity(Label = "MyApp", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, WindowSoftInputMode = SoftInput.AdjustResize)] 
public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity 
関連する問題