我被要求制作一个底部标签页,以便在iOS和Android上使用我们的应用程序 标签项上的图标是我给出的图标的正确颜色,未选中时不能是浅灰色。
使用网格中的堆栈布局是否可行,因此我可以保留图标颜色,如果是这样,是否可以将网格锚定在设备屏幕的底部,以便模仿选项卡的行为网页?
答案 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/