안드로이드 해결 소프트 키보드 가리기 Button
AndroidManifest.xml
<activity android:name=".MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden" >
android: window Soft Input Mode = "state Hidden"은 주로 액티브에 들어가서 플로피 키보드가 자동으로 나오는 것을 막는 것입니다.
layout.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<LinearLayout android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint=" 1" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 2" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 3" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 4" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 5" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 6" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 7" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 8" />
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 9" />
<EditText android:id="@+id/edittext" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint=" 10" />
<Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="button" />
</LinearLayout>
</ScrollView>
레이아웃에서 주요한 것은 ScrollView입니다. 이렇게 하면 플로피 키보드가 표시될 때 ScrollView를 통해 인터페이스를 미끄러뜨릴 수 있습니다.
MainActivity
public class MainActivity extends Activity implements OnTouchListener {
private ScrollView scrollView;
private EditText editText;
private Handler handler;
private LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
editText = (EditText) findViewById(R.id.edittext);
scrollView = (ScrollView) findViewById(R.id.scroll);
layout = (LinearLayout) findViewById(R.id.layout);
handler = new Handler();
editText.setOnTouchListener(this);
layout.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.edittext:
handler.postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// scrollview
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
}, 100);
break;
case R.id.layout:
//
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
return imm.hideSoftInputFromWindow(getCurrentFocus()
.getWindowToken(), 0);
default:
break;
}
return false;
}
}
사용자가 맨 아래에 있는 편집 텍스트를 눌렀을 때 ScrollView는 맨 아래로 그어져서 Button을 완전히 표시할 수 있습니다.OK 여기까지, 소프트 키보드 가림 버튼은 완전히 해결됐다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.