标签: android-animation

动画android之后的showDialog

我创建了一个模拟爆炸的动画:带有此动画的"booom"图像:

blast.xml HyperspaceExplosion on Activity

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">


<scale
    android:interpolator="@android:anim/bounce_interpolator"
    android:fromXScale="1.0"
    android:toXScale="2.0"
    android:fromYScale="1.0"
    android:toYScale="2.5"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fillAfter="false"
    android:fillBefore="false"
    android:duration="3000"
     />
</set>
Run Code Online (Sandbox Code Playgroud)

当玩家点击炸弹爆炸开始时.在爆炸结束时,我想打开一个Dialog.

炸弹行为的简单代码:

getBombImage().setOnClickListener(
            new View.OnClickListener() {

                MediaPlayer mp = null;

                    @Override
                    public void onClick(View v) {


                             getExplosionImage().setVisibility(View.VISIBLE);

                        if(!isSoundOff()){
                            mp = MediaPlayer.create(getApplicationContext(), R.raw.explosion);
                            mp.start();
                        }

                        getExplosionImage().startAnimation(getHyperspaceExplosion());
                        getExplosionImage().setVisibility(View.INVISIBLE);

                        showDialog(1);

                    }
                }
);
Run Code Online (Sandbox Code Playgroud)

问题是爆炸和对话在时间上是冲突的,并且在对话框打开后爆炸继续.

我想要两个事件:在爆炸之前.在爆炸结束时,我想打开对话框.

有人帮我吗?

谢谢你的建议.

android showdialog android-animation

0
推荐指数
1
解决办法
1969
查看次数

如何在Android中创建类似Tab的UI?

我正在尝试在活动中实现类似Tab的UI.这就是我想要它的方式.
有3个按钮,每个按钮与LinearLayout相关联.当用户单击按钮时,当前可见布局淡出,与单击按钮关联的布局淡入视图.
如何才能做到这一点?特别是如何使褪色效果?

android android-animation android-layout android-view

0
推荐指数
1
解决办法
1811
查看次数

canvas中的rotate()无效

当我将canvas方法与canvas对象一起使用时,canvas对象不会旋转.为什么会这样?这是我的代码

package com.example.hello;

    import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.view.View; import android.widget.LinearLayout;

    public class CanvasDrawExample extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    setContentView(R.layout.example);
    LinearLayout rl=(LinearLayout)findViewById(R.id.rl);
     rl.addView(new CircleView(this));
    }
public class CircleView extends View
{

    public CircleView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub


    }

    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub


        Paint p=new Paint(Paint.ANTI_ALIAS_FLAG);
        p.setStrokeWidth(100);
        p.setStyle(Paint.Style.STROKE);
        p.setColor(Color.BLUE);

        canvas.drawRect(200, 100, 200, …
Run Code Online (Sandbox Code Playgroud)

android android-animation android-canvas

0
推荐指数
1
解决办法
2301
查看次数

FragmentTransaction上的CustomAnimations不适用于旧片段

我在开始时FragmentActivity显示一个Fragment,在按下a时显示第二个Button.直到这里,这很容易.但是我对动画有一个问题.
我添加第二个片段:

mTChild.add(R.id.container, mFragChild).addToBackStack(null).commit();  
Run Code Online (Sandbox Code Playgroud)

为了使它更"活跃",我CustomAnimations在添加之前声明了一个Fragment,它看起来像这样:

mTChild.setCustomAnimations(R.anim.slide_in, R.anim.alpha_out, R.anim.alpha_in, R.anim.slide_out);  
mTChild.add(R.id.container, mFragChild).addToBackStack(null).commit();  
Run Code Online (Sandbox Code Playgroud)

我使用了这个方法setCustomAnimations(int,int,int,int) (参数:enter,exit,popBack enter,popBack exit),你可以在setCustomAnimations文档中看到.只是为了理解我的(基本)动画xml:

  1. slide_in>新片段从右到左滑动.
  2. slide_out> back stack =片段从左到右滑动.
  3. alpha_out>旧片段消失,alpha 100 - > 0.
  4. alpha_in> back stack =旧片段出现alpha 0 - > 100.

在这一步,我得到了我想要的一个幻灯片/向右滑出旧片段上方的新片段.但是通常留下并且消失/出现的旧片段的效果不会发生.

我做错了什么?因为,CustomAnimations发生但不是旧片段(它没有删除).
谢谢你的回答.

android android-animation android-fragments android-fragmentactivity

0
推荐指数
1
解决办法
3802
查看次数

在RelativeLayout中向下滑动动画

我需要帮助来设置RelativeLayout的动画.下一张图片说明了我的用法:

在此输入图像描述

现在,当我触摸地图的标记时,它会显示一个RelativeLayout(在图片中调用标记标题),并且向上滑动的动画效果很好,但是,我向下滑动的代码效果不佳,因为它从顶部开始下降的屏幕.我的代码是这样的:

  • 这是它隐藏RelativeLayout的代码:

     public void hideSlideUp() { 
        RelativeLayout slideLayout;
        slideLayout = (RelativeLayout) findViewById(R.id.sliding_up);
    
        if (slideLayout.getVisibility() != View.INVISIBLE) {
            Animation slide = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_down);
            slideLayout.startAnimation(slide);
            slideLayout.setVisibility(View.INVISIBLE);
         }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 动画xml文件,现在它的工作有误:

    <set xmlns:android="http://schemas.android.com/apk/res/android">
      <translate 
          android:fromXDelta="0" 
          android:fromYDelta="-1000" 
          android:duration="1000" />
    </set>
    
    Run Code Online (Sandbox Code Playgroud)

android android-animation android-xml

0
推荐指数
1
解决办法
6099
查看次数

从android listview中删除元素

我正在尝试创建一个可以支持侧滑动的列表视图.我希望用户能够将listview元素向右拖动,然后在屏幕外面重新调整下面的删除按钮.用户应该能够单击删除按钮从列表视图中删除该元素.我一直关注http://www.youtube.com/watch?v=YCHNAi9kJI4,但只需要帮助将删除按钮添加到后台.有帮助吗?

android listview android-animation android-listview

0
推荐指数
1
解决办法
156
查看次数

如何做出径向反应?

在这里,按钮触摸后,它下面画一个圆圈.如何实现这个?

在此输入图像描述

android android-animation material-design

0
推荐指数
1
解决办法
1872
查看次数

使用ItemTouchHelper.Callback实现"Bounce Back"RecyclerView动画

我正在尝试RecyclerView使用Helper扩展的类在我的行中创建动画ItemTouchHelper.Callback.

默认的"滑动"行为ItemTouchHelper是,如果以足够的速度滑动一行,它将从视图中消失(即,滑动到dimiss).在我的情况下,我想创建一个动画,如果发生这样的事件,导致行直接反弹.

我已经能够创建一个ValueAnimator动画,如果它在屏幕上滑动,将该行动画回视图.但是,问题在于我无法让父ItemTouchHelper类识别x它存储的值已从行的宽度(因此它完全在屏幕外)更改为0(以便它返回到屏幕上).

这意味着每当我在完成自定义动画后与行进行交互时,它就像行仍然在屏幕外,即使它完全可见.这通常意味着按下它意味着行从一个X位置跳到行宽0X位置,因此再次从屏幕边缘重新生成动画.在完全重置并再次正常运行之前,它会执行此操作几次.

该视频将有助于显示问题.由于前两次滑动不在屏幕外,因此默认行为有效.然后将行从屏幕上滑下并反弹回来,点击该行会显示它从右边缘向后ping:

Youtube  -  ItemTouchHelper.Callback问题

这是我用来进行动画的代码:

public class CustomItemTouchHelper extends ItemTouchHelper.Callback {

    private RecoverAnimation ra;
    private boolean animatorRunning;

//...

    @Override
    public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
        final float per = (dX/viewHolder.itemView.getWidth());
        if (per > 0.8F && !animatorRunning && !isCurrentlyActive) {
            ra = new RecoverAnimation(c, recyclerView, viewHolder, ItemTouchHelper.ANIMATION_TYPE_SWIPE_CANCEL, …
Run Code Online (Sandbox Code Playgroud)

android android-animation android-recyclerview

0
推荐指数
1
解决办法
2046
查看次数

如何在Android中使用动画效果滑动活动?

我正在开发一款Android应用.我想在活动上实现这样的动画,如果我们离开activity A那么它应该向左滑动,新的activity B应该从右边滑入.当我离开当前activity B它也应该向右滑动,之前activity A应该从左向右滑动.怎么可能?

顺便说一句,我使用以下代码,但它没有做任何事情..

overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out);

我已经为动画幻灯片编写了一些XML代码,如下所示:

slide_left_in.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:fromXDelta="-100%p"
        android:toXDelta="0"
        android:duration="@android:integer/config_shortAnimTime" />
</set>
Run Code Online (Sandbox Code Playgroud)

slide_left_out.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromXDelta="0"
        android:toXDelta="-100%p"
        android:duration="@android:integer/config_shortAnimTime" />

</set>
Run Code Online (Sandbox Code Playgroud)

您的帮助将不胜感激.谢谢 !

animation android android-animation android-activity android-studio

0
推荐指数
1
解决办法
2747
查看次数

从屏幕顶部到中心对视图进行动画处理

我正在尝试使用翻译动画将图像视图从屏幕顶部移动到屏幕中央或屏幕中间,即当活动开始时,图像视图开始从屏幕顶部移动到屏幕中间或屏幕中央,其中图像视图空间的顶部和底部图像视图空间在屏幕上显示的完全相同,就像我们在相对布局中所做的一样。在xml文件的布局中,使用父标签中心为true。通常我们会在facebook和whatsapp应用程序中找到这类动画,它们已将它们用于图像的翻译或移动图像视图动画。到目前为止我做了什么。请帮助我解决这些问题。谢谢。

public class MainActivity extends AppCompatActivity {

    ImageView imageview;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imageview = (ImageView) findViewById(R.id.imagview);

        RelativeLayout root = (RelativeLayout) findViewById(R.id.rel);


        TranslateAnimation anim = new TranslateAnimation(0, 0, 0, 50);
        anim.setInterpolator((new AccelerateDecelerateInterpolator()));
        anim.setAnimationListener(new MyAnimationListener());
        anim.setDuration(500);
        anim.setFillAfter(true);
        imageview.startAnimation(anim);


            }
        });


    }
Run Code Online (Sandbox Code Playgroud)

java animation android android-animation android-view

0
推荐指数
1
解决办法
5614
查看次数