본문 바로가기 메뉴 바로가기

권말련의 게임 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

권말련의 게임 블로그

검색하기 폼
  • 분류 전체보기 (1430) N
    • 로스트아크 (593)
      • 대항해 (126)
      • 모험의 서 (75)
      • 모코코(대륙) (119)
      • 기억의 오르골 (18)
      • 업적 (30)
      • 누크만의 환영석 (10)
    • GTA5 (13)
      • 스토리모드 (11)
      • 온라인모드 (2)
    • 게임 (533) N
      • 엘든링 (151)
      • 아이온2 (34) N
      • 마비노기 모바일 (8)
      • 오버워치2 (23)
      • 할로우 나이트 실크송 (26)
      • 포켓몬고 (26)
      • 팰월드 (21)
      • 디아블로4 (43)
      • 마인크래프트 (4)
      • 몬스터 헌터 와일즈 (1)
      • 오딘 (22)
      • 아이온 클래식 (75)
      • 바람의 나라:연 (24)
      • AFK아레나 (45)
      • 배틀그라운드 (2)
      • RPG게임 (7)
      • 리니지TL (2)
      • 모바일게임 (17)
    • 모바일게임 쿠폰 (8)
    • IT (201)
      • iOS (67)
      • Android (38)
      • PHP + Mysql (7)
      • AWS+Window Server (5)
      • 블로그 (32)
    • 일상 (76)
      • 맛집 (8)
      • 운동 (15)
      • 여행 (4)
      • 리뷰 (9)
  • 방명록




티스토리 뷰

IT/Android

안드로이드 액티비티 시작시 키보드 올리는 2가지 방법

권말련 2020. 4. 6. 16:25
반응형

액티비티 시작 시 키보드 올리는 2가지 방법입니다. 액티비티에서 소스 코드 입력하는 방법과 매니페스트에서 설정하는 방법이 있습니다. 

 

1. 액티비티에서 소스 추가하는 방법
private EditText ReplyEdit;
ReplyEdit = (EditText)findViewById(R.id.reply_write_edit);

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(ReplyEdit, 0);

ReplyEdit는 EditText 변수명입니다. 단, 이렇게 하는 경우에도 키보드가 올라오지 않을 수 있습니다. 이유는 ReplyEdit의 커서가 포커싱이 되지 않은 상태에서 showSoftInput을 해서 그렇습니다.

private EditText ReplyEdit;
ReplyEdit = (EditText)findViewById(R.id.reply_write_edit);

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(ReplyEdit, 0);

ReplyEdit.postDelayed(new Runnable()
  {
      @Override
      public void run()
         {
             ReplyEdit.requestFocus();
             imm.showSoftInput(ReplyEdit, 0);
          }
   }, 100);

위의 방법으로 postDelayed를 주고 requestFocus를 준 다음 showSoftInput을 하면 정상적으로 키보드가 올라옵니다.

버튼이나 액션처리가 아닌 액티비티 시작 시 키보드를 바로 띄우기 위해서는 위 두 번째 방법을 추천합니다.

 

2. 메니페스트(AndroidManifest.xml) 에서 설정하는 방법
<activity android:name="oatp.co.kr.appletree.Activity_Reply_write" android:windowSoftInputMode="stateAlwaysVisible"/>

 

추가) 키보드 내리는 방법

private EditText ReplyEdit;
ReplyEdit = (EditText)findViewById(R.id.reply_write_edit);

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(ReplyEdit.getWindowToken(), 0);
반응형
그리드형

'IT > Android' 카테고리의 다른 글

[안드로이드] 색상코드에 투명도 주는 방법  (8) 2020.05.26
[안드로이드] androidx 마이그레이션 하는 방법  (0) 2020.05.14
[안드로이드] 프로젝트와 외부 라이브러리 minsdkversion이 맞지 않을 때 해결방법  (0) 2020.05.12
[안드로이드] 스크롤뷰로 구성된 엑티비티 하단에 광고 고정으로 보여주기  (0) 2020.04.28
구글 플레이 마켓에 앱이 삭제 된 경우. 이렇게 해결 하세요.  (5) 2020.02.21
[안드로이드] Unable to locate adb 에러 해결  (0) 2019.05.28
스크롤뷰 내부 특정뷰로 포커스되는 현상 막기  (0) 2018.09.04
[오류] is not translated in ko  (0) 2017.03.08
  • 카카오톡 공유하기
  • 네이버 블러그 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 구글 플러스 공유하기
  • 카카오스토리 공유하기

댓글
반응형
공지사항
최근에 올라온 글

Blog is powered by Tistory / Designed by Tistory

티스토리툴바