我的ImageView未显示在我的设备屏幕上

时间:2016-04-15 14:19:19

标签: android xamarin

我为该布局创建了一个布局和一个活动。

在布局中,我只有一个带有png图像的ImageView,它位于Resources / Drawables中。

当我在我的设备中启动应用程序时,屏幕上不会显示ImageView。

这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px"
android:gravity="center"
android:visibility="visible"
tools:visibility="visible">
<ImageView
    android:layout_width="350.0dp"
    android:layout_height="279.5dp"
    android:id="@+id/OpeningLogo"
    android:layout_gravity="center"
    android:visibility="visible"
    tools:visibility="visible"
    android:src="@drawable/logo"
    android:adjustViewBounds="true" />
</LinearLayout>

这是活动代码:

namespace *********
{
    [Activity(Label = "xxxxxxxxx", MainLauncher = true, Icon = "@drawable/Logo")]
    public class OpeningActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Opening);

            Intent GoToLogin = new Intent(this, typeof(MainActivity));
            Thread.Sleep(5000);
            this.Finish();
            StartActivity(GoToLogin);
        }
    }
}

如果你想让我更多地告诉我。

提前致谢!

1 个答案:

答案 0 :(得分:1)

问题是您正在阻止该Activity的UI线程,并且它实际上从未按预期显示。 UI线程没有时间在屏幕上实际绘制任何内容。

相反,你应该做类似的事情:

namespace GridSocios
{
    [Activity(Label = "xxxxxxxxx", MainLauncher = true, Icon = "@drawable/Logo", NoHistory = true)]
    public class OpeningActivity : Activity
    {
        protected override async void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Opening);

            await Task.Delay(5000);

            var intent = new Intent(this, typeof(MainActivity));
            StartActivity(intent);
        }
    }
}

另请注意,设置了NoHistory = true标志。这意味着您导航离开后,无法导航回此活动。