您好,我是Xamarin Forms的新手,来自原生iOS开发。
要显示提醒/操作表,我使用此https://github.com/aritchie/userdialogs。
为了实现这一点,我遵循了How to use Acr.UserDialogs。
我通过以下方式成功获得警报,但现在我需要自定义确定/取消按钮的背景颜色,对齐方式,帧值,隐藏和显示按钮。。 提前谢谢。
答案 0 :(得分:1)
使用Rg.Plugins.Popup Nuget,您可以自定义弹出窗口。
答案 1 :(得分:0)
我需要自定义确定/取消按钮的背景颜色,对齐方式,帧值,隐藏和显示按钮。
作为作者said,您可以通过创建样式并将其应用于AlertConfig来实现。
例如:
在style.xml中:
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<!-- Used for the buttons -->
<item name="colorAccent">#AAAAAA</item>
<!-- Used for the title and text -->
<item name="android:textColorPrimary">#FFFFFF</item>
<!-- Used for the background -->
<item name="android:background">#DDDDDD</item>
<!-- Used for the Alignment -->
<item name="android:gravity">center_horizontal</item>
</style>
您可以在Resource.Designer.cs
中找到此样式ID。
// aapt resource value: 0x7f0b0189
public const int AlertDialogCustom = 2131427721;
然后在代码中创建一个AlertConfig来配置alertdialog:
AlertConfig alertConfig = new AlertConfig();
alertConfig.OkText = "OKOK";
alertConfig.Message = "Message";
alertConfig.Title = "Title";
alertConfig.AndroidStyleId=2131427721;
UserDialogs.Instance.Alert(alertConfig);
答案 2 :(得分:0)
最后我没有使用任何金块包。现在我创建了自己的CustomAlert类。我希望它对任何人都有帮助。
@Miguel Angel请看下面的代码
在我的CustomAlert.xaml文件中
<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="wwww/2009/xaml" x:Class="MY.UserControls.CustomAlert">
<Grid RowSpacing="0" ColumnSpacing="0">
<Grid BackgroundColor="#656565" Opacity="0.5">
</Grid>
<StackLayout BackgroundColor="{StaticResource WhiteColor}" VerticalOptions="Center" Margin="10" Padding="10" >
<Label Text="Title" FontSize="18" HorizontalTextAlignment="Center" Margin="0,0,0,0" TextColor="Black"></Label>
<Label Text="Descrption." FontSize="14"
HorizontalTextAlignment="Start"
Margin="10,10,5,5"
VerticalOptions="Center" TextColor="Gray"></Label>
<Button Text="OK" TextColor="{StaticResource WhiteColor}"
Command="{Binding DismissCustomAlertCommand}"
HorizontalOptions="Center" VerticalOptions="Center"
BackgroundColor="Red" Margin="30,0,30,0" WidthRequest="400" HeightRequest="40"></Button>
</StackLayout>
</Grid>
</ContentView>
谢谢