gpt4 book ai didi

android - SoftInput.AdjustResize 导致键盘在显示或隐藏时闪烁

转载 作者:行者123 更新时间:2023-12-03 17:12:27 25 4
gpt4 key购买 nike

设置 WindowSoftInputMode 后,我们在 Android 中遇到问题至Android.Views.SoftInput.AdjustResize .当键盘显示或隐藏时,我们的启动屏幕会在键盘动画的正上方闪烁。这非常烦人和不和谐。

这是它的一个 fragment ,你可以看到飞溅在后面偷看。

最佳答案

据我所知,这可能是问题所在。
如果您在 Styles.xml 中设置 SplashScreen,如下所示:

<style name="MainTheme.Splash" parent ="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splashscreen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>

而不仅仅是将 LoginActivity(登录屏幕)设置为 MainLaucher,启动屏幕永远不会被释放,它将贯穿您的整个应用程序。想象一下在启动屏幕上有更大的图像并将其拖到整个应用程序中,一段时间后会导致内存泄漏。

如何修复它。
创建类似于中间件 Activity 的东西,这将与启动屏幕相同,如下所示
[Activity(Theme = "@style/MainTheme.Splash", MainLauncher = true, NoHistory = true, Icon = "@drawable/appicon")]
public class SplashActivity : AppCompatActivity
{

public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState)
{
base.OnCreate(savedInstanceState, persistentState);

}

// Launches the startup task
protected override void OnResume()
{
base.OnResume();
Task startupWork = new Task(() => { SimulateStartup(); });
startupWork.Start();
}

// Simulates background work that happens behind the splash screen
async void SimulateStartup()
{
await Task.Delay(500); // Simulate a bit of startup work. You can remove this
StartActivity(typeof(LoginActivity)); // Your Activity

}
}
}

不仅仅是使用新的 LoginActivity
[Activity(Label = "LoginActivity")]
public class LoginActivity : AppCompatActivity
{
}

关于android - SoftInput.AdjustResize 导致键盘在显示或隐藏时闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60323966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com