【发布时间】:2021-03-19 14:56:02
【问题描述】:
我正在尝试这个在屏幕上显示 Confetti 的新 Konfetti View,可在此处找到: https://github.com/DanielMartinus/Konfetti
我希望在 Confetti 停止下落后此视图消失,但是使用我目前的代码,Konfetti 视图在 Confetti 开始下落之前就消失了。
ConfettiActivity:
using System;
using Android.App;
using Android.Content;
using Android.Graphics;
using Android.OS;
using Android.Text;
using Android.Views;
using Android.Widget;
using NL.DionSegijn.Konfetti;
using NL.DionSegijn.Konfetti.Models;
namespace ConfettiTest
{
[Activity(Label = "ConfettiActivity")]
public class ConfettiActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.confetti_activity);
KonfettiView konfettiView = (KonfettiView)FindViewById(Resource.Id.viewKonfetti);
int num = 0;
while (num != 2)
{
if (num == 0)
{
konfettiView
.Build()
.AddColors(Color.Yellow, Color.Green, Color.Magenta)
.SetDirection(0.0, 359.0)
.SetSpeed(1f, 5f)
.SetFadeOutEnabled(true)
.SetTimeToLive(4000L)
.AddSizes(new Size(12, 5f))
.StreamFor(400, 4000L);
}
else if (num == 1)
{
konfettiView.Visibility = ViewStates.Gone;
}
else
{
}
num++;
}
}
}
}
confetti_activity.xml:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<nl.dionsegijn.konfetti.KonfettiView
android:id="@+id/viewKonfetti"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Confetti is finished"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/confettifinished"
android:textSize="50px"/>
</LinearLayout>
这个答案:https://stackoverflow.com/a/6690607/13370965 不起作用,因为在我的正确代码中,我有超过 1 个文本视图。
另一种选择是将 konfettiView 放在后台,这样您就可以同时看到 textViews 和五彩纸屑,但我也不知道该怎么做。
【问题讨论】:
标签: c# xml android-layout xamarin.android android-view