在我目前的項目中的某些區域我有一個視圖,其中一些textview在上三分之一,一個edittext在中間和一個按鈕在底部,所有采取大致相同空間。現在,當我想在edittext中輸入內容時,鍵盤會彈出,並且視圖不會調整大小,所以鍵盤隱藏了一半的edittext,看起來很糟糕,或者視圖被調整大小,縮小到一半大小, ...非常...蹩腳。在我的應用程序的iphone版本中,當我點擊edittext時,它會增大並放大,填滿整個視圖,所以只顯示edittext和鍵盤。問題是,我完全不知道如何在Android中完成它。我已經重建了我的xml佈局來使用relativelayout而不是linearlayout,因爲我認爲它會更容易。 後來我把變化的onFocusChange方法,像這樣:調整EditText(或一般視圖)以填充屏幕
et = (EditText)v.findViewById(R.id.etItems);
et.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
if(arg0==et) {
if(arg1==true) {
Log.i("EditText","got focus");
enlargeEditText();
}
} else {
Log.i("EditText","lost focus");
}
}
});
private void enlargeEditText() {
RelativeLayout.LayoutParams rllp = (LayoutParams) v.getLayoutParams();
rllp.setMargins(0, 0, 0, 0);
v.setLayoutParams(rllp);
}
的enlargeEditText方法心不是最後,我justed想看看是否有什麼變化,但...這是不是...不是我得到:
08-22 17:26:22.108: E/AndroidRuntime(20662): at de.lochmann.einkaufsliste.FragCreateList$1.onFocusChange(FragCreateList.java:88)
08-22 17:26:22.108: E/AndroidRuntime(20662): at android.view.View.onFocusChanged(View.java:3938)
08-22 17:26:22.108: E/AndroidRuntime(20662): at android.widget.TextView.onFocusChanged(TextView.java:8465)
08-22 17:26:22.108: E/AndroidRuntime(20662): at android.widget.EditText.onFocusChanged(EditText.java:136)
08-22 17:26:22.108: E/AndroidRuntime(20662): at android.view.View.handleFocusGainInternal(View.java:3760)
08-22 17:26:22.108: E/AndroidRuntime(20662): at android.view.View.requestFocus(View.java:5453)
08-22 17:26:22.108: E/AndroidRuntime(20662): at android.view.View.requestFocus(View.java:5403)
08-22 17:26:22.108: E/AndroidRuntime(20662): at android.view.View.requestFocus(View.java:5381)
什麼問題?有任何想法嗎?提前致謝。
哪條線是88線? – Michael
enlargeEditText();所以這可能是我試圖改變視圖外觀的方式,但我不知道任何其他方式。 –
這是一個NullPointerException?你在哪裏定義'v'?請發佈所有的logcat錯誤。 – Sam