代码之家  ›  专栏  ›  技术社区  ›  Oscar Navarro

如何使用BoxView在网格中分离两个元素?

  •  0
  • Oscar Navarro  · 技术社区  · 7 年前

    我有一个列表视图,其中包含一个带有一些标签的网格,我想在两个标签之间放置一条分隔线,但是在这样做时,我必须在网格的哪一行中向BoxView指示它,并且在这样做时,BoxView覆盖了网格的整个大小。线条,有没有办法只画一条细线而不画粗蓝线?

    <?xml version=“1.0”encoding=“utf-8”?gt;
    <contentpage xmlns=“http://xamarin.com/schemas/2014/forms”
    xmlns:x=“http://schemas.microsoft.com/winfx/2009/xaml”
    xmlns:abstractions=“clr-namespace:roundedboxview.forms.plugin.abstractions;assembly=roundedboxview.forms.plugin.abstractions”
    x:class=“fortiaapp.views.frmmovimentos”>
    <contentpage.content>
    <堆叠布局
    VerticalOptions=“中心和展开”
    HorizontalOptions=“Centerandexpand”>
    <image x:name=“imgfortia”source=“fortia”heightrequest=“40”></image>
    <absoluteLayout VerticalOptions=“FillAndExpand”HorizontalOptions=“FillAndExpand”>
    <image absolutelayout.layoutFlags=“all”absolutelayout.layoutbounds=“0,0,1,1”source=“fondo1”aspect=“aspectfill”></image>
    <scrollView absolutelayout.layoutFlags=“all”absolutelayout.layoutbounds=“0,0,1,1”>
    <列表视图
    backgroundcolor=“透明”
    hasUnevenRows=“真”
    x:name=“lsvtabla”
    SeparatorVisibility=“无”
    gt;
    <listview.itemtemplate>
    <数据模板>
    <查看单元格>
    <frame padding=“2”margin=“7,10,7,10”heightrequest=“100”>
    <stacklayout>
    <网格
    backgroundcolor=“透明”
    gt;
    <grid.columndefinitions>
    <columnDefinition width=“*”/>
    <columnDefinition width=“自动”/>
    </grid.columndefinitions>
    
    <grid.rowdefinitions>
    <rowdefinition height=“*”/>
    <rowdefinition height=“*”/>
    <rowdefinition height=“自动”/>
    </grid.rowdefinitions>
    
    <标签
    grid.row=“0”
    grid.column=“0”
    textcolor=“969696”
    fontattributes=“粗体”
    HorizontalOptions=“中心”
    text=“绑定comercio”
    /gt;
    
    <标签
    grid.row=“1”
    grid.column=“0”
    grid.columnspan=“2”列
    grid.rowspan=“3”
    textcolor=“969696”
    fontattributes=“粗体”
    HorizontalOptions=“中心”
    text=“绑定描述导入”
    /gt;
    
    <标签
    grid.row=“0”
    grid.column=“1”
    textcolor=“969696”
    fontattributes=“粗体”
    HorizontalOptions=“中心”
    text=“绑定codigoautorizacion”
    /gt;
    
    <标签
    grid.row=“1”
    grid.column=“1”
    textcolor=“969696”
    fontsize=“大”
    HorizontalOptions=“中心”
    text=“绑定导入”
    /gt;
    
    <boxview backgroundcolor=“blue”horizontaloptions=“fill”grid.row=“3”grid.columnspan=“2”heightrequest=“1”/>gt;
    
    <标签
    grid.row=“4”
    grid.column=“1”
    textcolor=“005A9F”
    fontsize=“小”
    HorizontalOptions=“中心”
    text=“绑定fecha”
    /gt;
    
    </grid>
    </stacklayout>
    </frame>
    </viewcell>
    </datatemplate>
    </listview.itemtemplate>
    </listview>
    </scrollview>
    </absolutelayout>
    </stacklayout>
    </contentpage.content>
    </contentpage>
    

    我需要一条很细的线,但矩形太宽,请,我希望有人能帮助我xview在网格的哪一行中,这样,boxview就覆盖了整个网格的大小。线条,有没有办法只画一条细线而不画粗蓝线?

    <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 xmlns:abstractions="clr-namespace:RoundedBoxView.Forms.Plugin.Abstractions;assembly=RoundedBoxView.Forms.Plugin.Abstractions"
                 x:Class="FortiaApp.Views.frmMovimientos">
        <ContentPage.Content>
            <StackLayout
                VerticalOptions="CenterAndExpand"
                HorizontalOptions="CenterAndExpand">
                <Image x:Name="imgFortia" Source="fortia" HeightRequest="40"></Image>
                <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
                    <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1" Source="Fondo1" Aspect="AspectFill"></Image>
                    <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
                        <ListView 
                                BackgroundColor="Transparent"
                                HasUnevenRows="True"
                                x:Name="lsvTabla"
                                SeparatorVisibility="None"
                                      >
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <ViewCell>
                                        <Frame Padding="2" Margin="7,10,7,10" HeightRequest="100">
                                            <StackLayout>
                                                <Grid
                                                    BackgroundColor="Transparent"
                                                    >
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="*"/>
                                                        <ColumnDefinition Width="Auto"/>
                                                    </Grid.ColumnDefinitions>
    
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition Height="*"/>
                                                        <RowDefinition Height="*"/>
                                                        <RowDefinition Height="Auto"/>
                                                    </Grid.RowDefinitions>
    
                                                    <Label
                                                        Grid.Row="0"
                                                        Grid.Column="0"
                                                        TextColor="#969696"
                                                        FontAttributes="Bold"
                                                        HorizontalOptions="Center"
                                                        Text="{Binding Comercio}"
                                                        />
    
                                                    <Label
                                                        Grid.Row="1"
                                                        Grid.Column="0"
                                                        Grid.ColumnSpan="2"
                                                        Grid.RowSpan="3"
                                                        TextColor="#969696"
                                                        FontAttributes="Bold"
                                                        HorizontalOptions="Center"
                                                        Text="{Binding DescripcionImporte}"
                                                        />
    
                                                    <Label
                                                        Grid.Row="0"
                                                        Grid.Column="1"
                                                        TextColor="#969696"
                                                        FontAttributes="Bold"
                                                        HorizontalOptions="Center"
                                                        Text="{Binding CodigoAutorizacion}"
                                                        />
    
                                                    <Label
                                                        Grid.Row="1"
                                                        Grid.Column="1"
                                                        TextColor="#969696"
                                                        FontSize="Large"
                                                        HorizontalOptions="Center"
                                                        Text="{Binding Importe}"
                                                        />
    
                                                    <BoxView BackgroundColor="blue"  HorizontalOptions="Fill" Grid.Row="3" Grid.ColumnSpan="2" HeightRequest="1"/>
    
                                                    <Label
                                                        Grid.Row="4"
                                                        Grid.Column="1"
                                                        TextColor="#005a9f"
                                                        FontSize="Small"
                                                        HorizontalOptions="Center"
                                                        Text="{Binding Fecha}"
                                                        />
    
                                                </Grid>
                                            </StackLayout>
                                        </Frame>
                                    </ViewCell>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </ScrollView>
                </AbsoluteLayout>
            </StackLayout>
        </ContentPage.Content>
    </ContentPage>
    

    enter image description here

    我需要一条很细的线,但是一个长方形太宽了,拜托,我希望有人能帮我

    1 回复  |  直到 7 年前
        1
  •  1
  •   Sam    7 年前
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
    
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="5"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
    
        <Label Grid.Row="0" Grid.Column="0" />
        <Label Grid.Row="0" Grid.Column="1" />
        <Label Grid.Row="1" Grid.Column="1" />      
        <BoxView Grid.Row="2" Grid.Columnspan="2" 
            HorizontalOptions="FillAndExpand" VerticallOptions="FillAndExpand" />
        <Label Grid.Row="3" Grid.Column="1" />
    </Grid>
    
    推荐文章