2014-02-25 5 views
0

Я знаю, что на этот вопрос был дан ответ, но CountdownTimer не работает в моем методе.Сделайте ImageView Visible with timer

Итак, у меня есть анимация для кнопки и текстового просмотра, после нажатия кнопки. Но я хочу также иметь изображение с таймером. Поскольку imageview является частью текстового представления, которое я хочу показать пользователю. Любая помощь?

Это мой код:

OnCreate метод:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     imageView2 = (ImageView)findViewById(R.id.imageView2); 
     edittext = (EditText)findViewById(R.id.edittext); 
     leatseatbutton = (Button)findViewById(R.id.letseatbutton); 

     register=(Button)findViewById(R.id.register); 
     signin1button=(Button)findViewById(R.id.signin1button); 
     signinbutton_fb=(Button)findViewById(R.id.signinbutton_fb); 
     cancel=(Button)findViewById(R.id.cancel); 
     imageView1 = (ImageView)findViewById(R.id.imageView1); 

Первый onClickListener

 leatseatbutton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) {  
     RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     params.width = 175; 
     params.height = 40; 
     params.setMargins(75, 240, 0, 0); 
     leatseatbutton.setLayoutParams(params); 
    edittext.setVisibility(View.VISIBLE); 
    TranslateAnimation slide = new TranslateAnimation(0, 0, 100,0); 
    slide.setDuration(1000); 
    slide.setFillAfter(true); 
    slide.setAnimationListener(new Animation.AnimationListener() { 
     @Override 
     public void onAnimationStart(Animation animation) { 

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      imageView2.setVisibility(View.VISIBLE); 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 

     } 
    }); 
    edittext.startAnimation(slide); 
    } 
    }); 

Второй onClickListener

signinbutton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     params.width = 175; 
     params.height = 40; 
     params.setMargins(75, 240, 0, 0); 
     signinbutton.setLayoutParams(params); 
    edittext.setVisibility(View.VISIBLE); 
    TranslateAnimation slide = new TranslateAnimation(0, 0, 100,0); 
    slide.setDuration(1000); 
    slide.setFillAfter(true); 
    edittext.startAnimation(slide); 
    } 
    }); 
    } 

ответ

1

Может быть, вам нужно использовать AnimationListener

.... 
    TranslateAnimation slide = new TranslateAnimation(0, 0, 100,0); 

    slide.setAnimationListener(new Animation.AnimationListener() { 
     @Override 
     public void onAnimationStart(Animation animation) { 

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      imageview.setVisible(View.VISIBLE); 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 

     } 
    }); 

    slide.setDuration(1000); 
    slide.setFillAfter(true); 
    edittext.startAnimation(slide); 
    .... 
+0

Это не работает, я получаю сообщение об ошибке на OnCreate (MainActivity). – pap

+0

Этот код должен быть в методе 'onClick (View)'. Какая именно ошибка у вас? – neworld

+0

Да, это метод onClick. Вызвано: java.lang.NullPointerException в .com.example.mycode.MainActivity.onCreate (MainActivity.java:72) – pap

Смежные вопросы