Xamarin.FormsのTabbedPageでバッジを表示する

公開日: : 最終更新日:2016/11/03 Blog, Microsoft , , , , ,

iOSのタブバーはNative側でバッジ機能があるのだが、Androidにはそもそもバッジが無いらしい。
カスタムレンダラーで頑張って作ってみようと思ったら既にあった…。

GitHub : xamarin-forms-tab-badge
License : MIT
※プレリリース(2016/10/31)

NuGetで取得

  • ソリューションエクスプローラーでソリューションを右クリックし、ソリューションの NuGet パッケージの管理(N)を選択
  • プレリリースを含めるにチェック
  • Plugin.Badgeを検索し、全プロジェクトにインストール

iOS側のレンダラー登録

xxx.iOSの/Properties/AssemblyInfo.csに以下を追加

【余談】
XF標準のTabbedPageTabbedRendererを継承したBadgedTabbedPageRendererを指定することでXFは標準コントロールのままでネイティブ側の動きだけをカスタマイズできるの知らなかった。
XF側も継承コントロール必須だと思ってた。

Android側のレンダラー登録

Android側もAndroid用のレンダラーを登録
xxx.Droidの/Properties/AssemblyInfo.csに以下を追加

Forms側で使う

  • TabbedPageはXF標準のものでOK

  • 各ページに設定されたPlugin.Badge.Abstractions.TabBadge.BadgeTextがバッジのテキストとして表示される。

  • TabBadgeBadgeColorでバッジの色を指定

  • 空文字またはnullでバッジを非表示にできる(※現在iOSは空文字だとクリアされずに空バッジが表示されるっぽい
    Issue挙げたら速攻対応してくれた【2016/11/03追記】

※ChildrenがNavigationPageなのは深い意味はない。

実行結果

  • Android
    badge-droid

  • iOS
    badge-ios

関連記事

no image

【iPhoneアプリ】Nend広告の実装メモ

広告枠の作成 https://www.nend.net/ 審査前アプリのURL iPhon

記事を読む

no image

【UWP】矢印キーでのフォーカス移動

FocusManagerで上下左右のフォーカス遷移が出来るので、その仕組みを利用してやるビヘイビアを

記事を読む

no image

Windows 10 IoT Core の 製品化メモ

概念実証(Proof of concept)を終了し、製品化を行いたい場合のステップ サインア

記事を読む

Minnow Board Turbot + Windows 10 IoT Core をSSD上で動作させる

MinnowBoard は SATAが搭載されているので、SSDなどが利用できる。 通常はSDカード

記事を読む

【VisualStudio2015】UWPアプリケーションのXAMLデザイナにて「パッケージを登録できませんでした。」

VisualStudio2015 / UWPアプリケーション / XAMLデザイナ / エラー のメ

記事を読む

【iPhoneアプリ】リリース手順〜プロビジョニングプロファイルを作成する〜

リリース前にDistribution Provisioning Profileを作成する 手順

記事を読む

no image

KeyboardNavigation以外でFocusVisualStyleを表示させる

WPFです。 結論としてはリフレクションで無理やりやれなくはなさそうという感じ。 元ネタはMSDN

記事を読む

Docker for Windows で ドライブ共有が出来ない

Shared Drives タブで Cドライブにチェックをして Apply を押す。 認証ダイ

記事を読む

no image

【VB.NET】async および await キーワードの使用

.NET Framework4.5(C#5.0, VB11.0)の新機能 Async/Awai

記事を読む

no image

Xamarin.Forms で Opacityを設定したGridの表示・非表示を切り替えると、Androidで例外が発生する(Xamarin.Forms 2.3.3.193)

Xamarin 2.3.3.163 あたりから発生するようになったバグ情報があり 実行環境は 2.3

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑