[英]Best way to implement custom view with animation at the center of the screen?
我的目标是在我的应用程序中实现自定义吐司,如下所示:
MyCustomToastClass.makeText(context,View,anyDurationInMS);
我想设置“吐司”重力,布局,持续时间(而不仅仅是Length.SHORT / LONG)
到目前为止我尝试过的事情:
带有windowManager对象的类问题是必须在以下位置实现android系统动画:
params.windowAnimations
当我尝试实现自定义动画时,如下所示:
windowManager.addView(mLayout);
Animation AlphaAnimation = new ...
它没有实现我的动画。
如果有人实现了此功能,我将不胜感激;或者,如果我以一种方式缺少某些东西,可以为我提供指导。
谢谢
抱歉误会您的问题
如果您想创建一个像吐司这样的弹出窗口,并且持续时间由您决定,那么您可以尝试创建一个自定义视图,该视图将包含您要烘烤的内容,然后可以将主布局放置在框架布局中,用户触发您的自定义祝酒,您可以将自定义视图添加到框架布局中,以便将其放置在主布局的前面,并且对于淡入淡出动画,可以使用此视图
Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setInterpolator(new DecelerateInterpolator()); //add this
fadeIn.setDuration(1000);
Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setInterpolator(new AccelerateInterpolator()); //and this
fadeOut.setStartOffset(1000);
fadeOut.setDuration(1000);
或者如果您想使用XML
淡入
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0.0"
android:toAlpha= 1.0"
android:duration="1000"
android:repeatCount="infinite"
android:repeatMode="reverse"
/>
淡出
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="1000"
android:repeatCount="infinite"
android:repeatMode="reverse"
/>
而且你可以使用的时间
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// FADE OUT THE POP UP/TOAST HERE
}
}, /*SET THE TIME HERE*/);
我希望这个答案对您来说足够清楚,如果您对我的答案还有疑问,请随时在评论中提问:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.