3

オブジェクトのタブのカラー スキーマをカスタマイズしてXamarin.Forms.TabbedPage、ターゲット プラットフォームのデフォルトのルック アンド フィールにならないようにする方法はありますか?

フォントの色、背景、現在選択されているタブの色を変更したいと思います。

4

6 に答える 6

6

カスタムレンダラーを使用することをお勧めします。

iOS の例を次に示します。

[assembly: ExportRenderer(typeof(TabbedPage), typeof(TabbedPageRenderer))]
namespace MyApp.iOS
{
    public class TabbedPageRenderer : TabbedRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            TabBar.TintColor = UIColor.White;
            TabBar.BarTintColor = UIColor.Black;
            TabBar.BackgroundColor = UIColor.Gray;
        }
    }
}

Xamarin.iOS プロジェクトでこのクラスを過ぎたところです。

Xamarin.Android の場合、カスタム レンダラーを使用して同じことを行うこともできます。カスタム レンダラーの Android 実装は、iOS バージョンとは異なって見えます。

于 2015-02-25T10:17:32.003 に答える
0

次のようにして、Androidでこれを実現できます。

Current.MainPage を TabbedPage にキャストします。これにより、プロパティを設定できます。

((TabbedPage)Current.MainPage).BarBackgroundColor = Color.FromHex(settings.AppSecondaryColour);

ここに画像の説明を入力

同じ方法で、必要な他のプロパティを変更できるはずです。これはまだ IOS でテストしていません。

于 2017-04-14T01:05:09.133 に答える