首页 > 解决方案 > Xamarin 表单上的拨号盘

问题描述

我想在内容页面布局内添加电话拨号键,而不是在应用程序之外启动电话拨号。我使用 Xamarin 必不可少,但它在应用程序页面外启动 Device Phone Dialer

标签: xamarinmobilexamarin.forms

解决方案


您可能必须自己设计它。以下只是 UI 设计和空白逻辑的粗略代码,只是为了让您了解如何完成。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="50"/>
        <RowDefinition Height="50"/>
        <RowDefinition Height="50" />
        <RowDefinition Height="50" />
        <RowDefinition Height="50" />
        <RowDefinition Height="50" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <Entry x:Name="phoneNumber" Grid.Row="0" Grid.ColumnSpan="3" />
    <Button Grid.Row="1" Grid.Column="0" Text="1" Clicked="Button_Clicked" />
    <Button Grid.Row="1" Grid.Column="1" Text="2" Clicked="Button_Clicked" />
    <Button Grid.Row="1" Grid.Column="2" Text="3" Clicked="Button_Clicked" />
    <Button Grid.Row="2" Grid.Column="0" Text="4" Clicked="Button_Clicked" />
    <Button Grid.Row="2" Grid.Column="1" Text="5" Clicked="Button_Clicked" />
    <Button Grid.Row="2" Grid.Column="2" Text="6" Clicked="Button_Clicked" />
    <Button Grid.Row="3" Grid.Column="0" Text="7" Clicked="Button_Clicked" />
    <Button Grid.Row="3" Grid.Column="1" Text="8" Clicked="Button_Clicked" />
    <Button Grid.Row="3" Grid.Column="2" Text="9" Clicked="Button_Clicked" />
    <Button Grid.Row="4" Grid.Column="1" Text="0" Clicked="Button_Clicked" />
    <Button Grid.Row="5" Grid.ColumnSpan="3" Text="Call" Clicked="Button_Clicked_1" />
</Grid>

UI 如下所示。

在此处输入图像描述

您的代码隐藏应该如下所示。

private void Button_Clicked(object sender, EventArgs e)
{
    var enteredNumber = (sender as Button).Text;
    this.phoneNumber.Text += enteredNumber;
}

private void Button_Clicked_1(object sender, EventArgs e)
{
    //Logic to make a call
}

有关如何以编程方式拨打电话的信息,请参阅以下链接。 https://stackoverflow.com/a/37551969/2536167

我希望这会有所帮助。


推荐阅读