【Xamarin.Forms】PickerのフォントサイズをEffectで変更する。

Xamarin.FormsのPickerを使用した場合、iOSと違いEntryとPickerが一体となって最初から表示されます。

f:id:nooootion:20170525223359p:plain

↓Entryの記述がないけで、デフォルトで表示される。

f:id:nooootion:20170525223233p:plain

今回やりたいこと

Pickerで選択した項目がEntryに表示されますが、Entryに表示する文字のサイズを変更したい。

実装方法

Pickerのデフォルトのプロパティではサイズ変更できないようなので(そもそもPickerで選択した後はEntryに表示されているわけでPickerのプロパティでは無理かw)、カスタムレンダラーなるものを使用しないといけないかな〰でもよく分からんな〰と調べていたところEffectを使用すればできそうなことが分かったので実装してみました。

以下参考サイトを参考にさせて貰いました。

XamarinのEffectを使ってラベルに枠線を引いてみる | 勝手にオザマリン

まず、iOSのプロジェクトにEffect用のクラスを追加します。

f:id:nooootion:20170525231048p:plain

f:id:nooootion:20170525230211p:plain

共有プロジェクトにもクラスを追加。

f:id:nooootion:20170525231246p:plain

f:id:nooootion:20170525231217p:plain

XAMLのPickerコントロールのプロパティにEffectを追加。

f:id:nooootion:20170525231456p:plain

 レッツ実行

f:id:nooootion:20170525231529p:plain

選択した文字がでっかくなっちゃった!!!

まとめ

思ったより簡単に実装することができました。

バイス固有のプロジェクト内ではデバイス標準の言語で記述する必要がありますが、

単純なプロパティ変更なら難しくなさそうですね。