我有一个关于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;
}
您可以试试这个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