gpt4 book ai didi

android - 在 android 上使用 3D view filp - 翻转后没有 onClick

转载 作者:行者123 更新时间:2023-11-29 18:12:48 27 4
gpt4 key购买 nike

我找到了一些关于如何在 ViewFlipper 中制作 3D 动画来翻转 View 的指南。都是用Camera和rotation来达到效果的。我用过这个:http://code.google.com/p/android-3d-flip-view-transition/ - 实现结果的包装器 - 一切正常。也就是说,就视觉翻转而言。

不过,翻转完成后按钮不起作用。感觉好像所有的onClick事件都没有收到,或者在翻转完成后被忽略了。这是我最基本的例子。

XML:

<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/selector_flipper">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/playing_field"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Flip"
android:onClick="flipView" />
</LinearLayout>

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tag_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"/>
</ViewFlipper>

Activity :

public class SelectorActivity extends Activity {
private ViewFlipper flipper;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.selector);
flipper = (ViewFlipper)this.findViewById(R.id.selector_flipper);
}

/**
* @see android.app.Activity#onKeyDown(int, android.view.KeyEvent)
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && tagList.getVisibility() == View.VISIBLE)
flipView(null);
else
return super.onKeyDown(keyCode, event);
}

public void flipView(View v) {
AnimationFactory.flipTransition(flipper, FlipDirection.RIGHT_LEFT);
}
}

创建 Activity 后,我可以单击“翻转”按钮 - View 将按我希望的方式翻转。然后我可以按下手机上的“后退”按钮 - 它会翻转回来,就像我想要的那样。但是现在我不能再点击按钮了——所有的点击都被忽略了。

任何人都可以帮助我弄清这个问题的根源吗?非常感谢!

附言我尝试了其他包装器,甚至自己编写了相同的动画——但结果总是一样的!翻转后点击不起作用!

最佳答案

感谢使用我的 3D view flip animation .

问题是 Android 中 ViewGroup 遍历谁获得焦点的方式中的错误。我尝试了一些修复(有些有效,有些无效,但都不是很优雅)。但最后,使用 AnimationSet 而不是 Animation 成功了。我已经尝试修复您的代码(您通过电子邮件发送给我)以及 more complex code .转换后显示的 View 获得触摸焦点。

所以,最新更新到android-3d-flip-view-transition在 googlecode 项目中有修复。或者,您可以通过 clicking here 直接导航到修订版.

谢谢,如果您对修复感到满意,请将此问题标记为已回答。

关于android - 在 android 上使用 3D view filp - 翻转后没有 onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9791154/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com