본문 바로가기

개발도구/aOS - 안드로이드 개발

[안드로이드] 키보드 보이고 안보이게 하기

키보드 안보이드로 메니페스트

<activity android:name="MenuSearch" android:configChanges="orientation|keyboard" android:windowSoftInputMode="stateAlwaysHidden" />

키보드 안 보이도록

 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
             imm.hideSoftInputFromWindow(icon_searcher.getWindowToken(), 0);

키보드 보이도록
 <EditText android:id="@+id/input_searcher" 
       android:layout_width="230dip"
       android:layout_height="35dip"
       android:layout_marginLeft="7dip"        
       android:hint="검색어를 입력해 주세요"
       android:imeOptions="actionSearch" // 키보드의 종류를 말한다. actionSearch 에 alt + space 를 누르면 키보드 타입이 다양하게 나온다. 
 
       android:layout_gravity="left|center_vertical" 
       android:background="@drawable/search_input_box"
   >
 

혹시 키보드에서 엔터값을 받아 키보드가 사라지게 하려면... ...
  1. protected void onCreate(Bundle savedInstanceState) {  
  2.     super.onCreate(savedInstanceState);  
  3.     setContentView(R.layout.view);  
  4.   
  5.     m_editInputText.setOnKeyListener(new View.OnKeyListener() {  
  6.   
  7.     @Override  
  8.     public boolean onKey(View v, int keyCode, KeyEvent event) {  
  9.         return false;  
  10.     }  
  11. });  
  12. }  
  13. public boolean onKeyUp(int keyCode, KeyEvent event)  
  14. {  
  15.     if (keyCode == KeyEvent.KEYCODE_ENTER)  
  16.     {  
  17.         // hide keyboard  
  18.         InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
  19.         imm.hideSoftInputFromWindow(m_editInputText.getWindowToken(), 0);   
  20.   
  21.         return true;  
  22.     }  
  23.     return super.onKeyUp(keyCode, event);  
  24. }