kamulog

xamarin.formsのネタなど

Xamarinにおける NativeCell / NativeLayout に関するまとめ記事をQiitaに投稿しました。

AdventCalendar 2017 Xamarin の5日目の記事としてNativeCellのまとめ/NativeLayoutのまとめを書きました。 Xamarin その1 Advent Calendar 2017 - Qiita [初心者さん・学生さん大歓迎!] Xamarin その1 Advent Calendar 2017 - Qiita 長くなったので自動的…

Xamarin.FormsでSettingsViewという設定に特化したTableViewを作ってnuget公開しました。

Xamarin.FormsのTableViewは便利ですが、組み込みセルが全然足りなくて結局ViewCell祭りになってしまう残念なコントロールなので、オレオレライブラリにTableViewを拡張して、組み込みセルを増やして対応していました。 今回それを独立させてnugetパッケージ…

Xamarin.Forms 2.4.0でEffectsの挙動が変わったような気がする点(Androidのみ)

2.4.0がStableになってAiForms.Effectsの対応作業をしていて気づいた点をいくつかご紹介したいと思います。 変わったような気がする点 iOSに関してはEffectsに関して変わったところには遭遇しませんでした。 Android PlatformEffectでContainerやControlの中…

Xamarin.Formsに独自のImageSourceを追加して標準のImageコントロールでSvg画像を表示させる(2.3.5〜)

ある部品をSVG対応させる場合は基本的にはNgraphicsなどの外部ライブラリを追加すると思います。 ただそうすると、SVGを使わない人にまで余分なdllを付加させてしまうことになります。 なんとかSvg対応だけを独立したパッケージにしてプラグインっぽい対応に…

Xamarin.Formsでほぼ最小構成のListViewを作ってみた(2.3.5.256-pre6を使用)

iOSのUITableView / AndroidのListViewの基本的な動きを覚えたくてXamarin.Formsでの最小構成でのCustomRendererを作ってみました。 諸事情によりpreを使うことになりましたが、とりあえず無事動作しました。 これをベースとすれば、いらんことをしないオレ…

AiForms.LayoutsにDataTemplateに対応したStackLayoutを追加しました。

AiForms.LayoutsというXamarin.FormsのCustomLayoutをパッケージしているものがあるのですが、そこに今更すぎますが、RepeatableStackというDataTemplateに対応したStackLayoutを追加しました。 個人でも仕事でも何かと使う機会が多かったので、わざわざ作る…

Xamarin.FormsでTimePickerやDataPickerを付加したりEditorにPlaceholderを表示したりSwitch・Sliderなんかの色を無理やり変更したりするEffect

とりとめのないタイトルですみません。 Effect作成に飽きてきたので、残っている手持ちのEffectをまとめて追加しました。

Xamarin.Formsで任意のViewにBorderを追加するEffect

かなり今更なEffectですが、あると便利なのでAiForms.Effectsに追加しました。

AiForms.EffectsのAddCommandをテコ入れしてもらいタップしたときにSEを鳴らせるようになりました。ついでにCanExecute判定も追加。

ゆ〜かさんよりPullRequestを頂き、AddCommandでタップしたときにシステムサウンドを鳴らせるようになりました。 他にもcsprojがおかしなことになっているのを修正して頂きました。 ゆ〜かさん、本当にありがとうございました!! (プロパティ名は他と合わ…

Xamarin.FormsでReactivePropertyとDataAnnotationsを使ってバリデーションを行うサンプル(独自の検証ルールも作ってみる)

あまりXamarin.Formsでのバリデーションに関する記事が見当たらなかったので、いつも使ってるReactivePropertyとDataAnnotationsを使ったバリデーション方法をご紹介します。

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

WPFでは、ControlのレイアウトはControlTemplateで何とでもいじることができますが、Xamarin.Formsではそういうことはできず、同等のことをやろうと思ったらAbsoluteLayoutなんかで包んで無理やりするしかありません。 Entryにバリデーション用の追加テキス…

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

TabbedPageやNavigationPageのアイコンは子ページのIconプロパティの値にNative側のResourceを指定して使用しますが、このIconプロパティはImageのSourceのようなImageSource型ではなくて、FileImageSource型なのでPCLのResourceを指定することができません。…

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

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

「復習帳(Review Note)」というXamarin.Formsで作ったAndroid/iOSアプリをリリースしました。

「復習帳」という忘却防止用のアプリをリリースしましたのでご紹介します。 復習帳とは 復習帳は「Xamarin.Forms」を使って開発した勉強した内容を忘れない間に復習するためのスケジュール管理アプリです。クロスプラットフォーム開発なのでAndroid/iOS両対…

Xamarin関連でDeviceを使ったプラットフォームのUnitTestを行う

PCLプロジェクトのテストは、これまであんまりハマりどころは無かったのですが、プラットフォーム固有のコードをテストする場合に、いろいろとハマってきたので、そろそろまとめておきます。

Xamarin.Formsでアプリ名をローカライズする方法

普通の文字リソースに関してはPCLにresxファイルを追加して使うことで対応できたんですが、アプリ名をローカライズする方法が分からなかったので調べてみました。

Xamarin.Formsのマークアップ拡張でパラメータをバインディングに対応させる

ブログ記事を参考にローカライズにチャレンジしてまして 言語用リソースにこんな項目があって <data name="Hello" xml:space="preserve"> <value>こんにちは!{0}さん</value> <comment></comment> </data> それをマークアップ拡張を使ってXamlから読むときに <Label Text="{l:Lang Hello,Param={Binding UserName}}" /> こんな感じで置換パラメータをBindingを使って渡せないかなと思っていたところ 前に</label>…

画像を編集(リサイズ・切り抜き・回転)できるXamarinのプラグインを公開しました。

アプリ開発で、ネットから取得した画像を切り取ってサムネ化して保存するという処理が必要だったので、そういう処理を普通にDependencyServiceまたはprismのIPlatformInitializerを利用する前提で作成していました。 それで、それをライブラリ化しようと思っ…

Xamarin.Formsで折り返し可能で子要素を等幅できっちり配置できるWrapLayoutを作成しました。

Xamarin.Formsには標準では、WPFのWrapPanelのように端まで来たら折り返して配置するというようなLayoutは今のところ存在しません。 そんなわけでそういうカスタムレイアウトを「色しらべ」 の時に作成していて、今作成中のアプリでも使用しているので、なか…

Xamarin.Forms(Android)でコードだけで任意のViewにRippleEffectを追加する方法

C#のコードだけで任意のViewにRippleEffectを追加する方法をご紹介します。 Xamarin.Androidであれば別にxmlで書けば何の問題も無いと思うんですが(検索したらその方法はたくさんヒットするし)、FormsからCustomRendererやEffectsで使用するとなるとコード…

AiForms.Effect 0.0.5 AddCommandにLongTapとRippleEffectを追加

Xamarin.Formsで割と何にでもCommandをくっつけるEffect - kamulog にロングタップ(長押し)コマンドを追加しました。 ついでにAndroid限定ですが、押した感をRippleEffectで表現するようにしました。 github.com www.nuget.org

Test Cloudを使わずにXamarin.UITestだけを使ってのローカルUIテスト(実行編)

前回 Test Cloudを使わずにXamarin.UITestだけを使ってのローカルUIテスト(準備編)の続きです。 今回は実際にテストコードを書いてテストを実行させるサンプルをご紹介します。

Test Cloudを使わずにXamarin.UITestだけを使ってのローカルUIテスト(準備編)

みなさんUITestしてますか?私はしてません(笑) 手動のポチポチテスト(テストと言えるのかは疑問ですが)はしてますけど。 初回リリースはそれで良かったんですが、何か機能を追加した時に、それによって既存の動きがおかしくなってないかとかを調べるの…

「色しらべ」というAndroid/iOSアプリをリリースしました。

「色しらべ」という色を調べるアプリを開発したので紹介します。 色しらべとは 色しらべはクロスプラットフォーム開発ライブラリである「Xamarin.Forms」を使って開発した、カメラを使って日常の色の抽出や配色解析を行うアプリです。 クロスプラットフォー…

Xamarin.FormsのPan/PinchGestureRecognizerを使ってドラッグアンドドロップと拡大縮小を実装するサンプル

この記事は[学生さん・初心者さん大歓迎!]Xamarin Advent Calendar 2016 - Qiitaの17日目の記事です。 Xamarin.Formsでいつの間にかPanGestureRecognizerとPinchGestureRecognizerが増えてたのであれこれと試してみました。

prism.forms 6.3.0-pre1 のNavigationServiceをカスタマイズしてみた例

この記事はXamarin Advent Calendar 2016 - Qiitaの21日目の記事です。 Navigationに関しては散々出尽くした&すでにガチな記事があるので気がひけるのですが、せっかく作ったので紹介させてください。よろしくお願いします。 prismのNavigationServiceは便…

ResourceDictionaryとEffectsを使ってFormsのThemeの切り替えだけで変えられない色も含めて強引に切り替えるサンプル

これは[初心者さん・学生さん大歓迎!] Xamarin その2 Advent Calendar 2016 - Qiitaの14日目の記事です。 初心者向きとは言い難いかも知れませんが、EffectsはさておきResourceDictionaryに関しては序盤から使っていくべき機能だと思いますので、こんなこと…

Xamarin.Formsで任意のViewにNumberPickerの機能を追加するEffect

Xamarin.Formsには標準の選択用のViewとしてPickerがありますが、Bindingに非対応だったり(もうすぐ対応されますが)、デザインが固定で使いにくかったり、Android側は選択位置を記憶してくれなかったりで個人的に正直微妙だなと思っていました。特にデザイ…

Xamarin.FormsでLabelとEditorの行高・行間(LineHeight / LineSpacing)を変更するEffect

Labelで複数行の文字列を表示する場合、標準のままだと行間が詰まってて見にくいので、行間を変更するEffectを作成しました。色しらべで使用したものをベースとしてLabelの他にEditorにも対応させました。

Xamarin.Formsで割と何にでもCommandをくっつけるEffect

Button以外でCommandを使いたくなる場面が多々あったので、任意のViewにCommandを追加できるEffectを作成しました。実際に色しらべでもこのEffectを使ってます。