c# - 自定义启动画面
问题描述
我从手册中制作了启动画面:
我创建了从 AppCompatActivity 等扩展的 SplashActivity。它按预期工作。
但是现在我想为启动活动设置一些动画,我很困惑,因为我放在 SplashActivity 上的所有内容都是不可见的(现在我不能确定 SplashActivity 本身是可见的)。
现在我已经从 SplashActivity 中删除了所有多余的东西并按原样启动它:
// `MainLauncher` argument for my MainActivity is false now
[Activity(Theme = "@style/SplashTheme", NoHistory = true, MainLauncher = true)]
public class SplashActivity : Activity // AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState) // , PersistableBundle persistentState
{
base.OnCreate(savedInstanceState); // persistentState
this.SetContentView(Resource.Layout.LPreloader);
}
protected override void OnResume()
{
base.OnResume();
}
}
LPreloader.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical" >
<Button
android:id="@+id/my_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Some element on Activity" />
</LinearLayout>
活动风格的主题是:
<style name="SplashTheme" parent ="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowActionBar">true</item>
</style>
例如,我想查看my_button
on 活动,但我什么都没有。不仅如此:我在行上设置了断点,base.OnCreate(savedInstanceState);
并且它从未停止过。我只看到徽标@drawable/splash_screen
,什么都没有。
如果我使用相同的代码创建新的 Xamarin.Android 项目 - 它工作正常(我看到按钮)。我无法理解。在 Xamarin.Forms 项目中工作有什么障碍?
解决方案
从启动主题中删除窗口背景并尝试它会起作用,因为你除了
<style name="SplashTheme" parent ="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowActionBar">true</item>
</style>
推荐阅读
- javascript - 如何使用axios和node上传解析xls、xlsx、csv文件?
- sftp - WinSCP 脚本同步目录,但排除几个子目录
- macos - 为什么我的异步函数会冻结 UI?
- r - R Roxygen:在示例中没有找到导入的函数
- apache-spark - 火花驱动程序进程是否溢出到磁盘?
- react-native - 使用 Apollo 和 React-native 的身份验证问题
- alfresco - 使用 REST API 在 Alfresco 中基于属性过滤器获取任务详细信息
- wordpress - Wordpress 插件 Register_rest_route 在子域上不起作用
- c# - 如何将毫秒转换为 UTC dateTime C#
- java - 数据类型更改未反映在使用 liquibase-hibernate5 生成的更改日志文件中