xamarin.forms - Xamarin 的表单 Date Picker android 图标有点偏
问题描述
我正在尝试在 xarmain 表单输入框附近放置一个带有日历图像的同步按钮。
但是到目前为止我尝试过的有点不协调。
<Label Text="Please select a start date below"></Label>
<StackLayout Orientation="Horizontal">
<Entry x:Name="txtDateStartEntry" WidthRequest="200" ></Entry>
<syncfusion:SfButton x:Name="btnPickStartDate" CornerRadius="10" HorizontalTextAlignment="Start" ShowIcon="True" Clicked="btnPickStartDate_Clicked" FontSize="24" BorderThickness="2" TextColor="White" BackgroundColor="White" Text="..." >
<syncfusion:SfButton.Content>
<Grid ColumnDefinitions="Auto, *, Auto" ColumnSpacing="16" Padding="16">
<Image Grid.Column="1" HorizontalOptions="End" WidthRequest="30" HeightRequest="30" Source="cal16.png" VerticalOptions="End"/>
</Grid>
</syncfusion:SfButton.Content>
</syncfusion:SfButton>
</StackLayout>
我已经完成的是这个。
正如您所看到的,它离输入字段有点远,看起来并不属于它。
解决方案
如果您使用的是 Syncfusion,您应该使用SfTextInputLayout,它提供前导/尾随视图功能,以明确将描述性图标添加到输入视图。
代码示例假定导入以下内容xmlns
:
xmlns:sftl="clr-namespace:Syncfusion.XForms.TextInputLayout;assembly=Syncfusion.Core.XForms"
<sftl:SfTextInputLayout TrailingViewPosition="Inside">
<Entry x:Name="txtDateStartEntry" WidthRequest="200" />
<sftl:SfTextInputLayout.TrailingView>
<Image HeightRequest="30" Source="cal16.png">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="btnPickStartDate_Clicked" />
</Image.GestureRecognizers>
</Image>
<sftl:SfTextInputLayout.TrailingView>
</sftl:SfTextInputLayout>
注意:使用LeadingView 或TrailingView 时,建议不要分配Width 值,因为Syncfusion 会根据您要求的高度计算宽度,以保持指定视图的纵横比。因此,我故意HeightRequest
将Image
.
推荐阅读
- c# - 处理函数定义 c#
- ios - 将 vImage_Scale 与 kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange 一起使用
- sorting - 对对象的 API 调用排序
- wso2 - WSO2 Excel 连接器
- python - Pandas isin() - 请帮我搞定这个
- google-classroom - Google 课堂分享按钮 - 正文参数
- visual-studio-code - 保存时在新行上格式化 vscode
- mysql - 冷门产品的 SQL 查询
- python - 从字符串到日期时间,查看当前(本地)时间
- pandas - 如何从 python 中的 2 个相关列表列创建一列?