改变文本android的可见性

时间:2013-02-17 10:16:30

标签: android

嗨我有两个textViews,我最初设置它的可见性然后动画并变得可见。现在我想再次看不见但是由于某种原因他们仍然在屏幕上显示有人没有为什么?

在我的onCreate()中,我让视图消失了

register = (TextView)findViewById(R.id.register);
        register.setVisibility(View.GONE);
        forgotpassword = (TextView)findViewById(R.id.forgotpw);
        forgotpassword.setVisibility(View.GONE); 

然后我将其显示为

public void run() 
            {
               animations();
               loginForm.setVisibility(View.VISIBLE);
               register.setVisibility(View.VISIBLE);
               forgotpassword.setVisibility(View.VISIBLE);
            }

然后当用户按下按钮时,我希望文本视图变得不可见,以便它们保留其布局,但它们在屏幕上保持可见

signInBtn = (Button) findViewById(R.id.signin);
        signInBtn.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                signInProcess();
            }
        });


 public void signInProcess() { 

     register.setVisibility(View.INVISIBLE);
     forgotpassword.setVisibility(View.INVISIBLE);
     setuploader.setVisibility(View.VISIBLE);

}

1 个答案:

答案 0 :(得分:1)

在Android中,当您制作动画时,它只是在其他地方绘制。实际元素不会移动。因此,当您为signInBtn设置动画时,它会在其他位置绘制,但实际按钮不会从原始位置移动。因此,当您单击该按钮时,不会调用单击处理程序。

要避免在动画中设置此fillAfter = True,以便在动画结束时实际移动按钮。

此外,在Android中为视图制作动画后,请确保在尝试更改其可见性之前致电View.clearAnimation()