Xamarin - 使用网格中的堆栈布局DIY选项卡页面

时间:2017-07-10 13:57:30

标签: xamarin.forms

我被要求制作一个底部标签页,以便在iOS和Android上使用我们的应用程序 标签项上的图标是我给出的图标的正确颜色,未选中时不能是浅灰色。

使用网格中的堆栈布局是否可行,因此我可以保留图标颜色,如果是这样,是否可以将网格锚定在设备屏幕的底部,以便模仿选项卡的行为网页?

2 个答案:

答案 0 :(得分:1)

你提到的事情绝对可行。我认为现在使用现有TabbedPage控件上的自定义渲染器也可以实现很多。您还可以创建自己的TabbedPage版本以满足您的需求。如果您使用现有的TabbedPage并调整可能会将选项卡放在Android的底部,我认为最难实现,但它绝对应该是可能的。特别是在iOS上使用TintColor可以轻松修复颜色要求。

我不会去完全自定义的控制路线,除非我上面提到的事情没有得到你想要的结果。

<强>更新

[assembly: ExportRenderer(typeof(TabbedPage), typeof(TabbedPageCustom))]
namespace Sample.iOS 
{     
    public class TabbedPageCustom : TabbedRenderer      
    {         
        public TabbedPageCustom ()         
        {             
            TabBar.TintColor = UIColor.Black;             
            TabBar.BarTintColor = UIColor.Blue;             
            TabBar.BackgroundColor = UIColor.Green;         
        }     
    } 
}

http://motzcod.es/post/138225183932/tintcolor-selectedimage-xamarin-forms-ios http://motzcod.es/post/157544468267/xamarin-forms-android-selected-and-unselected-tab-colors

答案 1 :(得分:0)

我建议您使用内容视图执行此操作。这也将为您提供滑动选项。 您可以使用StackLayout或Grid创建主布局。

示例:

<Stacklayout>
<ContentView />
<Stacklayout Orientation="Horizontal" >
<Button />
<Button />
</Stacklayout>
</Stacklayout>

您也可以通过CustomRenderer实现相同功能,因为iOS已经在底部呈现标签。对于Android,您可以使用TabHost并将其放在底部。这将为您提供更原生的外观和感觉。

这应该可以让你看到https://asyncawait.wordpress.com/2016/06/16/bottom-menu-for-xamarin-forms-android/