做一个ImageView的可见与计时器 [英] Make an ImageView Visible with timer

查看:137
本文介绍了做一个ImageView的可见与计时器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道这个问题已经回答了,但CountdownTimer不起作用到我的方法。

所以基本上我有一个按钮和一个TextView动画,单击一个按钮后。但我想也有一个ImageView的,有一个计时器。由于ImageView的是,我希望把它展示给用户的TextView中的一部分。
任何帮助吗?

这是我的code:

onCreate方法:

  @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        imageView2 =(ImageView的)findViewById(R.id.imageView2);
        的EditText =(EditText上)findViewById(R.id.edittext);
        leatseatbutton =(按钮)findViewById(R.id.letseatbutton);        注册=(按钮)findViewById(R.id.register);
        signin1button =(按钮)findViewById(R.id.signin1button);
        signinbutton_fb =(按钮)findViewById(R.id.signinbutton_fb);
        取消=(按钮)findViewById(R.id.cancel);
        imageView1 =(ImageView的)findViewById(R.id.imageView1);

第一onClickListener

  leatseatbutton.setOnClickListener(新View.OnClickListener(){   @覆盖
   公共无效的onClick(视图v){
       RelativeLayout.LayoutParams PARAMS =新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滑动=新TranslateAnimation(0,0,100,0);
    slide.setDuration(1000);
    slide.setFillAfter(真);
    slide.setAnimationListener(新Animation.AnimationListener(){
        @覆盖
        公共无效onAnimationStart(动画动画){        }        @覆盖
        公共无效onAnimationEnd(动画动画){
            imageView2.setVisibility(View.VISIBLE);
        }        @覆盖
        公共无效onAnimationRepeat(动画动画){        }
    });
    edittext.startAnimation(幻灯片);
   }
  });

二onClickListener

  signinbutton.setOnClickListener(新View.OnClickListener(){   @覆盖
   公共无效的onClick(视图v){
       RelativeLayout.LayoutParams PARAMS =新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滑动=新TranslateAnimation(0,0,100,0);
    slide.setDuration(1000);
    slide.setFillAfter(真);
    edittext.startAnimation(幻灯片);
   }
  });
    }


解决方案

也许你需要使用<一个href=\"http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html\"相对=nofollow> AnimationListener

  ....
    TranslateAnimation滑动=新TranslateAnimation(0,0,100,0);    slide.setAnimationListener(新Animation.AnimationListener(){
        @覆盖
        公共无效onAnimationStart(动画动画){        }        @覆盖
        公共无效onAnimationEnd(动画动画){
            imageview.setVisible(View.VISIBLE);
        }        @覆盖
        公共无效onAnimationRepeat(动画动画){        }
    });    slide.setDuration(1000);
    slide.setFillAfter(真);
    edittext.startAnimation(幻灯片);
    ....

I know that this question has been answered, but CountdownTimer doesn't work into my method.

So basically I have an animation for a button and a textview, after a button is clicked. But I want also to have an imageview, with a timer. Because imageview is a part of the textview that I want to show it to the user. Any help?

This is my code:

onCreate method:

@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);

First 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); 
   }  
  }); 

Second 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); 
   }  
  });
    }

解决方案

Maybe you need use 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); 
    ....

这篇关于做一个ImageView的可见与计时器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆