自定义TabbedPage颜色架构 - Xamarin.Forms

Mic*_*ern 1 xamarin.ios xamarin.android xamarin xamarin.forms tabbedpage

有没有办法可以自定义Xamarin.Forms.TabbedPage对象上选项卡的颜色模式,这样就不会采用目标平台的默认外观?

我想更改字体颜色,背景和当前选定的标签颜色.

Sta*_*wer 5

我建议使用自定义渲染器.

以下是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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

刚刚在Xamarin.iOS项目中通过这个课程.

对于Xamarin.Android,您还可以使用自定义渲染器来完成相同的操作.自定义渲染器的Android实现与iOS版本不同.


Ste*_*oix 1

中没有内置方法Xamarin.Forms,但这在特定于平台的项目中非常容易做到。例如通过在iOS.