Xamarin - 不使用网格占据屏幕的整个区域

时间:2018-05-14 03:02:53

标签: xaml xamarin xamarin.forms xamarin.android

我在屏幕的底部有4个按钮作为菜单,我使用网格显示4个具有相同宽度和高度的按钮,并占据整个屏幕。我有这些代码,但结果不是我想要的方式。它不占据整个屏幕。请帮助我如何实现它。感谢。

<AbsoluteLayout BackgroundColor="#BC3022" MinimumHeightRequest="20" Padding="0,10,10,10" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
                <Grid ColumnSpacing="0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <BoxView Grid.Row="0" Grid.Column="0"/>
                    <StackLayout Grid.Row="0" Grid.Column="0" Padding="10,2,10,2">
                        <Image Source="home.png" WidthRequest="40" HeightRequest="25"/>
                        <Label Text="" TextColor="White" FontSize="15" HorizontalOptions="Center">Home</Label>
                    </StackLayout>
                    <BoxView Grid.Row="0" Grid.Column="1"/>
                    <StackLayout Grid.Row="0" Grid.Column="1" Padding="10,2,10,2">
                        <Image Source="jobs.png" WidthRequest="40"  HeightRequest="25">
                            <Image.GestureRecognizers>
                                <TapGestureRecognizer Tapped="OnJobsGestureTap" NumberOfTapsRequired="1" />
                            </Image.GestureRecognizers>
                        </Image>
                        <Label Text="" TextColor="White" FontSize="15" HorizontalOptions="Center">Jobs</Label>
                    </StackLayout>
                    <BoxView Grid.Row="0" Grid.Column="2"/>
                    <StackLayout Grid.Row="0" Grid.Column="2" Padding="10,2,10,2">
                        <Image Source="sync.png" WidthRequest="40" HeightRequest="25"/>
                        <Label Text="" TextColor="White" FontSize="15" HorizontalOptions="Center">Sync</Label>
                    </StackLayout>
                    <BoxView Grid.Row="0" Grid.Column="3"/>
                    <StackLayout Grid.Row="0" Grid.Column="3" Padding="10,2,10,2">
                        <Image Source="logout.png" WidthRequest="40" HeightRequest="25">
                            <Image.GestureRecognizers>
                                <TapGestureRecognizer Tapped="OnLogoutGestureTap" NumberOfTapsRequired="1" />
                            </Image.GestureRecognizers>
                        </Image>
                        <Label Text="" TextColor="White" FontSize="15" HorizontalOptions="Center">Signout</Label>
                    </StackLayout>
                </Grid>
            </AbsoluteLayout>

它的外观如下:

enter image description here

1 个答案:

答案 0 :(得分:2)

尝试使用以下代码替换您的代码:

private doRefresh(object: any): void {

    if(refresh) {
       refresh(object);
    }

}