当前位置: 首页 > 知识库问答 >
问题:

Android:如何在活动之间进行动画?

宰父浩漫
2023-03-14

我有一个关于Android动画的问题。我做了一个应用程序,其中有很多产品,你可以切换产品现在通过滑动屏幕左右(到下一个产品在列表),但它只是加载像任何其他活动现在。

我的产品就是活动,现在是这样切换的:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
     try {
         if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
             return false;
         // left to right swipe
         if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
             for(HashMap h: products) {
                 if (h.get("id").toString().equals(id)) {
                     int index = products.indexOf(h)-1;

                     if (index != -1) {
                        HashMap product = products.get(index);

                        dialog = ProgressDialog.show(ProductActivity.this, "", 
                                 "Laden...", true);
                        Intent i = new Intent(ProductActivity.this, ProductActivity.class);
                        i.putExtra("id", product.get("id").toString());
                        i.putExtra("profileId", profileId);
                        i.putExtra("score", product.get("score").toString());
                        i.putExtra("products", products);
                        startActivity(i);
                    }
                     else {
                         Toast.makeText(ProductActivity.this, "Dit is het eerste product in de lijst.", Toast.LENGTH_LONG).show();
                     }
                 }
             }
         }
         //right to left swipe
         else if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
             for(HashMap h: products) {
                 if (h.get("id").toString().equals(id)) {
                     int index = products.indexOf(h)+1;

                     if (index != products.size()) {
                        HashMap product = products.get(index);

                        dialog = ProgressDialog.show(ProductActivity.this, "", 
                                 "Laden...", true);
                        Intent i = new Intent(ProductActivity.this, ProductActivity.class);
                        i.putExtra("id", product.get("id").toString());
                        i.putExtra("profileId", profileId);
                        i.putExtra("score", product.get("score").toString());
                        i.putExtra("products", products);
                        startActivity(i);
                    }
                     else {
                         Toast.makeText(ProductActivity.this, "Dit is het laatste product in de lijst.", Toast.LENGTH_LONG).show();
                     }
                 }
             }
         }
     } catch (Exception e) {
         // nothing
     }
     return false;
}

共有1个答案

程阳平
2023-03-14

您可以试试这个Android-Viewflow库。

ViewFlow是一个Android UI小部件,提供了一个水平滚动的ViewGroup,其中包含从适配器填充的项。

 类似资料:
  • 嗨,我已经尝试了一些方法来有意地在活动之间移动浮动值,但它对我不起作用,因为值会重新启动。 我的代码: 第一项活动: 第二项活动: 浮点值始终为0,并且应用程序在“第二个活动”的第二行有编译错误。 感谢帮手们!

  • 问题内容: 我试图在两个活动之间建立监听器接口。将开始。如果发生了某些事件,它将通知它。问题是我正在使用Intent开始新活动,那么Act1如何将自己分配为Act2接口的侦听器? Act1.java Act2.java 注意: 请不要建议我使用片段。我现在要使用活动。 问题答案: 您是否考虑过使用LocalBroadcastManager? 在Act1的onCreate中: 在Act1的onDes

  • 我有两项活动。两者都已实现surfaceview。在第一个活动中,我有一个名为score1的变量,我想将score1中的值传递给第二个活动。 每次我运行应用程序时,它在完成第一个活动后崩溃,并尝试加载第二个活动。在我编写代码以获取第二个活动中的额外意图之前,一切都很好。 我的第一个活动有这样的意图: 在我的第二个活动中,以下代码试图获取score1变量的值: 我不明白为什么每次activity o

  • 我有两个活动,它们应该使用意图相互传递数据。我不确定在哪里放置一些看跌期权和看跌期权。 对于Activity1(MainActivity),我有一个按钮,按下它会创建一个意向,然后将其放入Activity2,然后使用startActivity(意向)启动它。 然后在Activity2中,我使用getIntent在onCreate()函数中获取该信息。 现在我想做的是在Activity2中有一个按钮

  • 和push_left_out.xml: 在主活动Stage1Activity I中有: 现在,当我在活动中移动时,过渡按其应有的方式工作。新的活动将旧的活动从右推到左。我想要一个反向的效果,当用户按下他们的设备上的后退按钮,但同样的过渡动画播放出来。我玩过Android:fromxdelta标签,取得了一些非常奇怪的结果,但我不知道如何设置它,以便在按下设备上的后退按钮时,新活动(实际上是一个新调

  • 我正在尝试使用从Activity3检索到Activity1的值。这是我的流程: 活动1调用活动2→ Activity2.finish(),调用Activity3→ 活动3.doSomethingAndGetValue()→ 活动3.finish()→ 活动1.useDoSomethingAndGetValue(); 我找不到将值从Activity3发送回Activity1的方法;即使使用start