首先說下我的需求:布局最上面是一個bar,有左上角返回按鈕和標題,bar下面是一個ScrollView,里面有各種TextView和EditText,
點擊下面的EditText時,不希望軟鍵盤把bar給頂上去(看不見)。
下面幾點需要注意:
1.在AndroidManifest中相應的activity配置android:windowSoftInputMode="adjustResize|stateHidden",可以解決
2.但是出現了一個問題,在軟鍵盤彈出的時,總會閃現黑色的背景。
3.后來發現是跟theme有關,去掉對應的activity中android:theme="@android:style/Theme.NoTitleBar"的屬性,在
activity的oncreate的setContentView前添加requestWindowFeature(Window.FEATURE_NO_TITLE);問題完美解決。
其他:
1.設置android:windowSoftInputMode="adjustPan|stateHidden"卻不會出現閃現黑色的背景,但是還是會把bar頂上去。
2.EditText去掉邊框和下划線:給EditText添加android:background="@null"屬性
3.進入頁面,不希望所有的EditText有光標:edit.setCursorVisible(false);點擊時,彈出軟鍵盤並出現光標:
edit.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
edit.setCursorVisible(true);
return false;
}
}); (注:setOnClickListener行不通,點第一次彈出軟鍵盤,點第二次才出現光標)