2012-08-29 24 views
1

我有兩個鏈接的問題。在Android中隱藏,顯示和聚焦editText's

我申請上EDITTEXT幻燈片翻譯和它的按鈕。我創建了兩個按鈕,一個是可見的,另一個是不可見的,原因很明顯。爲了隱藏一個是可見的,並顯示一個是invisiable我使用這個代碼:

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" /> 
+0

你的可見/隱形代碼看起來不錯。我的懷疑是兩套都一樣,即使它的工作正常,它似乎是錯誤的。這兩個editText n按鈕集之間的區別因素是否像不同的名稱等? – Braj

+0

沒有不應該有真正 – Niall

+0

請張貼含有EDITTEXTñ按鈕 – Braj

回答

1

要回答你的問題的第一部分,你可能會想打電話的意見無效()你已經改變了可見性。 對於第二部分來說,如果您可以展示如何調整當前代碼中的轉換可能會更好。

+0

好點烏爾xml文件,我說這有 – Niall

+0

我認爲它更好的,你把你所有的動畫代碼到Java文件本身,而不是從XML這樣做。這種方式你不需要對值進行編碼。 'code' 動畫translateAnimation =新TranslateAnimation(fromXDelta,toXDelta,fromYDelta,toYDelta); translateAnimation.setFillAfter(true); translateAnimation.setDuration(50); 'code' – Anuj