2015-10-28 5 views
0

Предполагая, что у меня есть TextView (работа с книжной страницей) в макете активности, я хочу скопировать макет деятельности после изменения текста TextView (в виде книги) без завершения операции I может сделать этот переход по этому кодуSlide left & Slide right Анимация по активности

startActivity(i2); 
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right); 
this.finish(); 

Но я не хотел закончить текущую деятельность. Как я могу это сделать?

ответ

1

я изобрести способ оживить все мнения в деятельности

private void doNextPage() { 
    final ImageView imageView= new ImageView(this); 
    final FrameLayout frameLayout=(FrameLayout)findViewById(android.R.id.content); 
    LinearLayout linearLayout=(LinearLayout) frameLayout.findViewById(R.id.rootContainer); 
    imageView.setImageBitmap(getBitmapFromView(frameLayout)); 
    frameLayout.addView(imageView, 1, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); 

    -------------------- Do Changes ------------------- 

    Animation slideOutRight = AnimationUtils.loadAnimation(this, 
      R.anim.slide_out_right); 
    imageView.startAnimation(slideOutRight); 
    slideOutRight.setAnimationListener(new Animation.AnimationListener() { 
     @Override 
     public void onAnimationStart(Animation animation) { 

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      frameLayout.removeView(imageView); 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 

     } 
    }); 
    Animation slideInRight = AnimationUtils.loadAnimation(this, 
      R.anim.slide_in_right); 
    linearLayout.startAnimation(slideInRight); 
} 

public static Bitmap getBitmapFromView(View view) { 
    Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(returnedBitmap); 
    Drawable bgDrawable =view.getBackground(); 
    if (bgDrawable!=null) 
     bgDrawable.draw(canvas); 
    else 
     canvas.drawColor(Color.TRANSPARENT); 
    view.draw(canvas); 
    return returnedBitmap; 
} 
Смежные вопросы