kamulog

xamarin.formsのネタなど

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デザインにすることができます。

続きを読む

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

「復習帳」という忘却防止用のアプリをリリースしましたのでご紹介します。

f:id:kamusoft:20170331174034p:plain:w200

 

復習帳とは

復習帳は「Xamarin.Forms」を使って開発した勉強した内容を忘れない間に復習するためのスケジュール管理アプリです。クロスプラットフォーム開発なのでAndroid/iOS両対応です。日本語と英語(中学生以下の翻訳レベル)対応です。

作成した経緯

おじさんになってから英語を勉強し始めまして、受験用の単語集なんかを使ってひらすら単語を覚えてたんですが、一周終わって二周目になった時に、全忘れしていたことに衝撃を受けました。

これじゃ無駄な努力の極みだと思いまして、長期記憶についてぐぐってみると忘却曲線云々の話がよく出てきました。 要するに1日後,7日後,14日後みたいにちょっとずつ間隔を広げながら復習することが記憶の定着のコツなんだとか。

そんなわけで最初はmac付属のリマインダーを使って管理してたんですが、タスクの数が増えてくるとわけがわからないことになって、ちゃんと管理せねばと思ってアプリにしようと思ったわけでした。

特徴

  • 指定した復習の間隔でスケジュールに登録され当日になると通知でお知らせ
  • iOS版は当日のタスク数をバッジで表示
  • 繰り返し設定が可能で一定日数ごと復習するようなスケジュールが可能
  • 登録されたスケジュールはリストで視覚的に確認可能
  • 豊富なサボりメニューで無理なく勉強可能

使い方

1.勉強する教材を登録します(名前・画像・ページ数・基本スケジュール等)

f:id:kamusoft:20170331174134j:plain

2. 登録した教材をタップして今日やった学習記録を登録します。(開始ページ・終了ページ等)

f:id:kamusoft:20170331174213j:plain

3. 復習予定がスケジュール画面に登録されます。

今日以前の復習スケジュールにはチェックボックスが表示されますので、復習が終わったらチェックします。繰り返し設定がされている場合はチェック後に次の予定が自動的に登録されます。 チェックされたタスクは次回(リロード後)からリストに表示されなくなります。リロードする前なら再度チェックをタップしてキャンセルできます。

f:id:kamusoft:20170331174224j:plain

便利な機能

スケジュールスワイプ(Androidはロングタップ)メニュー

  • 「再復習」… 明日だけ追加で同じ箇所を復習したい場合にスケジュールを追加
  • 「延期」… 明日に延期

日単位のメニュー

  • 「1日延期」… その日の復習を全て明日に延期
  • 「予定を全て1日ずらす」… その日以降の予定を全て1日延期

f:id:kamusoft:20170331174238j:plain

設定

  • スキップする曜日
    • スケジュールするときにここで設定された曜日の場合は、スキップして次の日に登録されるようになります。
  • 再復習でもスキップ設定に従う
    • 再復習を使ったときも曜日スキップを有効にします。
  • 延期もスキップ設定に従う
    • 延期を使ったときの曜日スキップ機能を有効にします。
  • 通知する時間
    • 通知する時刻を指定します。復習予定がある日は指定した時刻に通知されます。
  • 未処理の復習の数をバッジで表示する(iOSのみ)
    • オン・オフ切り替えします。

おわりに

自分用に作ったアプリですが、もしよろしければお試しいただけると幸いです。

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

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

続きを読む