kamulog

xamarin.formsのネタなど

Xamarin.Formsで任意のViewに1行Textを追加するEffect(EffectでViewの内部に何かのViewを追加する方法)

WPFでは、ControlのレイアウトはControlTemplateで何とでもいじることができますが、Xamarin.Formsではそういうことはできず、同等のことをやろうと思ったらAbsoluteLayoutなんかで包んで無理やりするしかありません。 Entryにバリデーション用の追加テキストを表示するだけで、わざわざレイアウトをネストさせるのはダルすぎるので、任意のViewに1行テキストを追加するEffectを作成しました。

続きを読む

Xamarin.FormsのTabbedPageでNGraphicsを使ってSVGアイコンを利用したり色を変えたりのサンプル

TabbedPageやNavigationPageのアイコンは子ページのIconプロパティの値にNative側のResourceを指定して使用しますが、このIconプロパティはImageのSourceのようなImageSource型ではなくて、FileImageSource型なのでPCLのResourceを指定することができません。 他のImageはPCLで処理できるのにPageのアイコンだけNativeにそれぞれ用意するのはめんどくさいし、ついでに言うと解像度別の画像を用意するのもめんどくさいということで、個人開発のアプリ(色しらべ・復習帳)ではCustomRendererとNGraphicsを利用してPCLのResourceを使用するようにしています。

この度その部分を少し整理したのでサンプルとしてご紹介します。

続きを読む

Xamarin.FormsのAndroidでButtonのBorderやRadiusを有効化しつつFlatにするEffect

Xamarin.FormsのAndroidのButtonはデフォルトでは影があって少し立体的なものが使われるのですが、どうしても平らなボタンが欲しくなったりします。そういう時のためにButtonをFlatにするEffectを作成しました。

またXamarin.FormsのButtonにはBorderWidthやBorderColorやBorderRadiusが存在するのですが、Androidではそれらのプロパティが機能していません。(v2.3.4現在) ということでそれらのプロパティをついでに有効にする機能も入れました。

これを使えばiOSとほぼ同じようなButtonデザインにすることができます。

続きを読む