小编sli*_*ull的帖子

PopupWindow动画无法正常工作

我有一个很好的PopupWindow,我想用动画出现.我是这样做的:

popup.setAnimationStyle(R.anim.appear);
popup.showAtLocation(popupMenuLayout, gravity, offsetX, offsetY);
Run Code Online (Sandbox Code Playgroud)

然后我设置了一个用于更改动画的监听器:

popup.setOnDismissListener(new PopupWindow.OnDismissListener(){
 @Override
 public void onDismiss(){
  popup.setAnimationStyle(R.anim.disappear);
 }      
}); 
Run Code Online (Sandbox Code Playgroud)

但是,嘿,它不会起作用.res/anim /似乎都没有:

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

也不是res/anim /消失:

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

有线索吗?

android android-animation

11
推荐指数
1
解决办法
1万
查看次数

如何重播一次性动画

我想制作一个动画,但能够按照我想要的次数播放它.现在它只是第一次播放.

.XML:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/p1_ch1" android:oneshot="true">
    <item 
      android:drawable="@drawable/p1_ch1_5" 
      android:duration="500"/>
    <item 
      android:drawable="@drawable/p1_ch1_4" 
      android:duration="1000"/>
    <item 
      android:drawable="@drawable/p1_ch1_5" 
      android:duration="500"/>
</animation-list>
Run Code Online (Sandbox Code Playgroud)

的.java:

public void handler_p1_ch1_5 (View target){
      ImageView iv = (ImageView)findViewById(R.id.p1_ch1_5);
      AnimationDrawable aw = (AnimationDrawable)iv.getBackground();
      aw.start();
}
Run Code Online (Sandbox Code Playgroud)

android android-animation

6
推荐指数
1
解决办法
4328
查看次数

如何提高ViewFlipper/ViewAnimator的性能

我使用的是ViewAnimator(父类的ViewFlipper)做出某种互动的书.层次结构大致如下:

<ViewAnimator>
  <include layout="@layout/p0" />
  <include layout="@layout/p1" />
  <include layout="@layout/p2" />
  ...
</ViewAnimator>
Run Code Online (Sandbox Code Playgroud)

所以这本书的页面都在ViewAnimator里面.每个页面都有一个FrameLayout,其中有多层动画ImageViews,TextViews,Buttons ......结果太多了.通过viewAnimator.showNext()显示书籍的新页面可能需要几秒钟.所有这些时间都花在了ImageView.onDraw()-Traceview上.

- ViewAnimator的任何替代布局(ViewPager,ViewGroup的其他实现......)会改进吗?

- 有没有办法预加载 ViewFlipper/ViewAnimator /其他将显示的视图?(这样书的下一页总是准备好并且在记忆中很开心)

- 我应该使用Canvas还是GLSurfaceView?(不能使用动画框架)

我被困了......你能帮忙吗?

performance android android-widget android-layout

6
推荐指数
2
解决办法
3142
查看次数