繁体   English   中英

Xamarin.forms自定义按钮控件

[英]Xamarin.forms custom button control

我需要减少按钮之间的空间 在此处输入图片说明

我使用了侧栏按钮,没有使用列表视图,如果我设置了降低高度的请求,文字将重叠,请问是否可以使用自定义渲染或其他方式降低高度?

这是我的代码

            <!--<Grid BackgroundColor="#783271"  VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="20"/>
                    <RowDefinition Height="20"/>

                </Grid.RowDefinitions>

                <Button Grid.Column="0"  Grid.Row="0" Text="Client Expertential Plan" TextColor="#636363" VerticalOptions="StartAndExpand" HorizontalOptions="StartAndExpand" BorderWidth="0" BackgroundColor="White" FontSize="Small" FontAttributes="Italic"/>
                <Button Grid.Column="0"  Grid.Row="1" Text="Organisation / Template Library" TextColor="#636363" VerticalOptions="StartAndExpand" HorizontalOptions="StartAndExpand" BorderWidth="0" BackgroundColor="White" FontSize="Small"  FontAttributes="Italic"/>
                <Button Grid.Column="0"  Grid.Row="2" Text="Use Expertential Plan" TextColor="#636363" VerticalOptions="StartAndExpand" HorizontalOptions="StartAndExpand" BorderWidth="0" BackgroundColor="White" FontSize="Small"  FontAttributes="Italic"/>

            </Grid>-->

            <!--<local:CustomButton Text="hai"></local:CustomButton>-->
            <Button Text="Client Expertential Plan" TextColor="#636363" VerticalOptions="FillAndExpand" HorizontalOptions="Start" BorderWidth="0" BackgroundColor="White" FontSize="Small" FontAttributes="Italic"/>
            <Button Text="Organisation / Template Library" TextColor="#636363" VerticalOptions="FillAndExpand" HorizontalOptions="Start" BorderWidth="0" BackgroundColor="White" FontSize="Small"  FontAttributes="Italic"/>
            <Button Text="Use Expertential Plan" TextColor="#636363" VerticalOptions="FillAndExpand" HorizontalOptions="Start" BorderWidth="0" BackgroundColor="White" FontSize="Small"  FontAttributes="Italic"/>
            <!--<Label x:Name="lblClientExpPlan"  Text="Client Expertential Plan" TextColor="#737373" VerticalOptions="FillAndExpand" HorizontalOptions="StartAndExpand"/>
            <Label  x:Name="lblOrgTemLib" Text="Organisation / Template Library" TextColor="#737373" VerticalOptions="FillAndExpand" HorizontalOptions="StartAndExpand"/>
            <Label  x:Name="lblUseExpPlan" Text="Use Expertential Plan" TextColor="#737373" VerticalOptions="FillAndExpand" HorizontalOptions="StartAndExpand"/>-->
        </StackLayout> 

一个简单的解决方案是使用您提到的HeightRequest属性,同时减少Padding。 与默认情况下的iOS相比,Android按钮的HeightRequest和Padding较大。 请尝试以下操作:

<StackLayout.Resources>
    <ResourceDictionary>
        <Style TargetType="Button" >
            <Setter Property="HeightRequest" Value="30" />
            <Setter Property="Padding" Value="10, 5" />
            <Setter Property="FontSize" Value="Small" />
            <Setter Property="BorderWidth" Value="0" />
            <Setter Property="VerticalOptions" Value="Start" />
            <Setter Property="HorizontalOptions" Value="Start" />
            <Setter Property="BackgroundColor" Value="White" />
            <Setter Property="TextColor" Value="#636363" />
            <Setter Property="FontAttributes" Value="Italic" />
        </Style>
    </ResourceDictionary>
</StackLayout.Resources>

<Button Text="Client Expertential Plan" />
<Button Text="Organisation / Template Library" />
<Button Text="Use Expertential Plan" />

padding属性是Button控件的最新添加。 它存在于Xamarin.Forms 3.2预发行版中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM