You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin.Forms安卓应用中键盘遮挡内容问题求助

输入图片描述

我尝试了所有解决键盘遮挡内容问题的方案:

  • 在视图内设置标记:

    Xamarin.Forms.Application.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);
    
  • 尝试使用焦点事件,但焦点事件并未触发,所有方案均无效。

对应的XAML代码:

<StackLayout VerticalOptions="FillAndExpand" Margin="0,0,0,10">
    <telerikPrimitives:RadTabView BackgroundColor="{StaticResource 24dp}" Margin="0,-10,0,0" Padding="0" VerticalOptions="FillAndExpand"
                                  AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="SizeProportional" IsContentSwipingEnabled="False"
                                  PropertyChanged="RadTabView_PropertyChanged">
        <telerikPrimitives:RadTabView.Header>
            <telerikPrimitives:TabViewHeader IsScrollable="True" ItemSpacing="40" Margin="10,0,10,0" Padding="0,10,0,10">
            </telerikPrimitives:TabViewHeader>
        </telerikPrimitives:RadTabView.Header>
        <telerikPrimitives:RadTabView.Items>
            <telerikPrimitives:TabViewItem>
                <telerikPrimitives:TabViewItem.Header>
                    <telerikPrimitives:TabViewHeaderItem Text="DOC TYPE" ControlTemplate="{StaticResource HeaderTemplate}">
                    </telerikPrimitives:TabViewHeaderItem>
                </telerikPrimitives:TabViewItem.Header>
                <telerikPrimitives:TabViewItem.Content>
                    <StackLayout >
                        <Frame BackgroundColor="{StaticResource 02dp}" Padding="10" Margin="10,5,10,10" BorderColor="{StaticResource LightBorder}">
                            <Grid>
                                <commonviews:MyEntry  x:Name="txttrailerId"  IsEnabled="{Binding ShowEditableCommands}" Grid.Row="3" Label="Trailer ID" TextValue="{Binding TlmDoc.TrailerId, Mode=TwoWay}">
                                </commonviews:TrackemEntry>
                            </Grid>
                        </Frame>
                    </StackLayout>
                </telerikPrimitives:TabViewItem.Content>
            </telerikPrimitives:TabViewItem>
            <telerikPrimitives:TabViewItem>
            </telerikPrimitives:TabViewItem>
            <telerikPrimitives:TabViewItem>
        </telerikPrimitives:RadTabView.Items>
    </telerikPrimitives:RadTabView>
</StackLayout>
</ScrollView>

对应的后台C#代码:

protected override async void OnAppearing()
{
    try
    {
        base.OnAppearing();
        txttrailerId.PropertyChanged += TxttrailerId_PropertyChanged;
        txttrailerId.Focused += TxttrailerId_Focused;
        txttrailerId.Unfocused += TxttrailerId_Unfocused; 
        //...
    }
}

private void TxttrailerId_Unfocused(object sender, FocusEventArgs e)
{
    Content.LayoutTo(new Rectangle(0, 0, Content.Bounds.Width, Content.Bounds.Height));
}

private void TxttrailerId_Focused(object sender, FocusEventArgs e)
{
    Content.LayoutTo(new Rectangle(0, -270, Content.Bounds.Width, Content.Bounds.Height));
}

恳请各位帮忙排查问题所在,提前致谢。我已更新问题内容。


内容的提问来源于stack exchange,提问作者Vanjara Sweta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:07:56