在Android中隐藏,显示和聚焦editText

时间:2012-08-29 08:48:23

标签: java android

我有两个相关的问题。

我正在对editText和它的按钮应用幻灯片翻译。由于显而易见的原因,我创建了两个按钮,一个是可见的,一个是不可见的。为了隐藏一个可见的并显示一个不可见的那个我正在使用这个代码:

public void onAnimationEnd(Animation animation) {
    textBox.setVisibility(View.GONE);
    button.setVisibility(View.GONE);
    button2.setVisibility(View.VISIBLE);
    textBox2.setVisibility(View.VISIBLE);
    textBox2.requestFocus();
    button2.setEnabled(true);
    button.setEnabled(false);
}

textBox是原始的editText,button是其伴随按钮。我想展示textBox2

然而原始的editText及其按钮仍然可见,而另一组则不会出现。上面的任何想法都有错吗?

其次,我可以在.java文件中找到屏幕大小,但是如何将其传递到我的.xml动画文件中呢?或者是否有更好的方法根据屏幕尺寸调整转换量?

以下是我调用动画的方法:

Animation translateAnimation = AnimationUtils.loadAnimation(first.this, R.anim.translate);
textBox.startAnimation(translateAnimation);

Translate.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:fromYDelta="0" android:toYDelta="-160" android:duration="50" />

1 个答案:

答案 0 :(得分:1)

要回答问题的第一部分,您可能希望在已更改可见性的视图上调用invalidate()。 对于第二部分,如果您可以显示当前如何调整代码中的转换可能会更好。