3

我有一个视图,当用户单击按钮时我会膨胀,并且我想在单击按钮时将视图动画到屏幕上,我尝试了下面的代码,但视图只是捕捉到屏幕而不是动画到屏幕。我不确定为什么视图不会动画到位。我想要动画的视图是previewMemberPanel

 previewMemberPanel = ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
            .inflate(R.layout.main_member_listing_imagepreview, null, false);

 //button click body
    Animation anim = new TranslateAnimation(new DisplayMetrics().widthPixels / 2, 0, 0, 0);
    anim.setFillAfter(true);
    anim.setDuration(5000);
    anim.setStartOffset(500);
    if( !previewMemberPanel.isShown() ){
        ((LinearLayout) findViewById(R.id.rootMembers)).addView(previewMemberPanel);          
      previewMemberPanel.startAnimation(anim);
    }
4

1 回答 1

1

使用处理程序发布动画:

((LinearLayout) findViewById(R.id.rootMembers)).addView(previewMemberPanel);

new Handler().post(new Runnable() {
  public void run() {
    previewMemberPanel.startAnimation(anim);
  }
});
于 2014-10-10T15:53:55.430 回答