kamulog

xamarin.formsのネタなど

Xamarin.Forms

Xamarin.Forms (Android) のListViewでFFImageLoadingとNativeCellを使ってout of memoryを回避しつつ高速化するサンプル(iOSはViewCellのまま使用する)

Xamarin.Forms の ListView は、Android で使う場合(特に画像を扱う場合)にパフォーマンスが悪いという問題があります。これは Fast Renderer を有効にしても変わりません。 普通にやってたら描画が遅くてメモリリークで落ちがちなので、何らかの対策が必…

App Store の審査で CallKit の使用が検出されたとしてリジェクトされた場合の対処 ( Xamarin.Forms / Xamarin.iOS )

復習帳 1.1.6 iOS版 のアップデートの際に審査で「メタデータでの却下」としてリジェクトされました。 内容は以下になります。 Guideline 5.0 - Legal Recently, the Chinese Ministry of Industry and Information Technology (MIIT) requested that CallKi…

「復習帳」version 1.1.6 バックアップ機能 のご紹介

Version 1.1.6 より バックアップの保存と復元機能が実装されました。 今回はバックアップの保存と復元方法をご紹介します。 復習帳とは バックアップ機能 概要 バックアップの保存方法 (iPhone) バックアップの保存方法 (Android) バックアップからの復…

「 復習帳 」version 1.1.5 「自己評価モード」機能のご紹介

この度 復習帳 ver.1.1.5を公開しました。 主な変更点は 自己評価によるスケジュール機能の追加 スケジュール日数の最大値を120から254に変更 スケジュール日数に関しては365日にしてくれという要望があったんですが 数百日も使わねぇだろうからbyte型で十分…

Prism.Forms 6.3.0 から 7.0.0 へのマイグレーションに関するメモ

Prism.Forms 7.0.0 のリリースから結構経ってしまいましたが、ようやく更新に手がつけられたので、6.3.0からの更新方法などのメモを残しておきます。 DIコンテナの抽象化 Navigation用のぺージクラス登録 その他のクラスの登録 IPlatformInitializer カスタ…

Xamarin.Forms Guides「iOS Platform-Specifics」の日本語訳(の練習)

https://developer.xamarin.com/guides/xamarin-forms/platform-features/platform-specifics/consuming/ios/ 2018年2月5日時点の翻訳です。 注意事項 iOS Platform-Specifics Applying Blur Displaying Large Titles Enabling the Safe Area Layout Guide M…

App Center で初めてXamarin.Formsのプロジェクトをビルドして気になったところ

先日App Center祭りに参加して、その有用性を実感してて、是非活用したいなと思いつつ後回しになっていましたが、最近ようやく復習帳のプロジェクトをApp Centerでビルドしてみました。 だいたいうまくいったんですが、いくつか気になるところがあったのでメ…

Xamarin.Forms Guides「ListView Performance」の日本語訳(の練習)

ListView Performance - Xamarin 2018年1月16日時点の翻訳です。 注意事項 基本的に直訳で意訳はあまりしません。 あくまで英語のReadingの練習であり、嘘率は高いです。

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のマークアップ拡張でパラメータをバインディングに対応させる

hatena.c1.grapecity.com こちらの記事を参考にローカライズにチャレンジしてまして

画像を編集(リサイズ・切り抜き・回転)できる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テスト(準備編)の続きです。 今回は実際にテストコードを書いてテストを実行させるサンプルをご紹介します。