비스무트-212 의 아메오티언스 이메이스티오니트 및 이메이스티온라벨,

39 m, 아주 새로운 안드로이드 기본 개발 및 I& i& # 39 m, 어떻게 사용자정의하기 곷떒 IME 작업이든지 위해 애쓴다. # 39, ve 구글 문서, 하지만 난 i& 바라볼 대한 정보를 거의 찾을 수 있을 것으로 기대하고 있다.

1 의 [프리커 안내선] 알고 있는데 키보드 작업이든지 버튼를 속성을 사용하여 구성할 수 있습니다.

      • text / id 근처에 표시된 버튼을 안드로이드 아메오티언스 space 키를 설정할 수 있는 일부 미리 정의된 값 (e. g. 악타이온고 설정되었습니다 검색하기를 및 주요 라는 id 를 2)
      • 안드로이드 이메이스티온라벨 키보드를 사용할 때 입력 영역 내에서 표시되는 레이블은 설정되었습니다 버튼이 전체 화면, 일반적으로 가로 모드. 임의의 문자열 값을 설정할 수 있습니다.
      • 안드로이드 이메이스티오니트 같은 숫자 id 설정 방법을 콜백하는 전달된 이전 하지만

하지만 그 사이에 다른 행동을 일부 경험주의의 시도_횟수 I& # 39, ve com/downloads/global/corporate/iar/esg_prosupport. apiu 레벨 15 및 다음 apiu 수준.

39, ve i& 설정되었습니다 요소와 간단한 에디트스트 다음과 같은 속성을:

<EditText
        ...
        android:imeOptions="actionGo"
        android:imeActionLabel="Custom"
        android:imeActionId="666"
        android:inputType="text"/>

39, ve 점검됩니다 다른 apiu 수준 모두에서 효과 및 I& 영정을 들고 있는 가로 모드. 다음은 결과다.

  • Apiu 4.0.3* 레벨 15 -

    • Id 에 세로 모드 작업 및 주요 레이블은 검색하기를 콜백하는 전달된 이 방법은 2, 이에 따라 아메오티언스 설정값입니다.

주요 레이블 / id 는 가로 모드 '로 Go/ 세로 모드 버튼을 동시에, 이에 따라 이 지역은 표시되려면 입력입니다 Custom/66 이메이스티온라벨 및 이메이스티오니트 속성.

  • Apiu 레벨 16, 17, 18 - 4.1.2 4.2.2 및 4.3*

  • 사용자 정의 및 환경 모두에서 초상화 모드 버튼을 키와 함께 표시됩니다 666 id * 레이블 및 바인딩됩니다 무시하고 아메오티언스 속성.

이 동작은 꽤나 귀찮은 일치하지 않는 이유:

  • 레벨 &gt 너회가 can& 구분할 수 있는 API, 버튼 및 입력 영역 버튼를 키 # 39, t = 16
  • t # 39, 사용자 정의 문자를 함께 apiu 수준 = 15 너회가 can& 설정되었습니다 주요 버튼를.

이 모두 15 일과 16 apiu 구하는 방법 아세요? 일관된 행동을 얻을 방법이 있는 경우 또는 모든 (또는 최소한 일부) API 버전.

어쩌면 나는 무언가 빠진 것을 정당화할 수 있는 다른 IME 설정이 있다.

감사합니다!

그냥 '오스타임악타이온라벨 호출하십시오 프로그램티칼리 마티오니트 원하는 대로 설정할 수 있는 java 코드 ()' (다시) 를 한.

editText.setImeActionLabel(getString(R.string.xxx), EditorInfo.IME_ACTION_GO);
해설 (2)
해결책

39 의 최대 안드로이드 애플리케이션 (앱) 을 실제로 it& 입력 방법 자체가 어떻게 해야 할지 스스로 결정할 수 없는 프레임워크입니다 값으로 설정할 수 있습니다.

그냥 패스 입력 방법을 통해 안드로이드 프레임워크입니다 설정한 값은 키보드의 버튼을 선택할 수 있는 어떤 표시하십시오 호스트였든 &quot extracted"; '에서' 에디트스트 전체 화면 보기입니다. 이 '2' 에서 안드로이드 레임워크 영향을 에디토린포 방법 -

  • It 패스를 통해 이를 ['에디토린포스마케콤파트리브레'] (http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html # makeCompatible% 28int% 29), s 와 호환될 수 있도록 반사케 keyboard& 사이의 값을 # 39 의 '타르게타피버시온 app& # 39 의. 이 순간 '만' 이 아닌 값을 변경할 수 있지만, 일부 저하됨 린퍼티페 편집기에는 작업이든지 경우 작업 (또는 완전히 새로운 설정) 이 새로운 편집기에는 소개한다.

      • 행동에 대한 입력 방법 등 정보기술 (it) 는 기본 동작은 수립하였습니다 전체 화면 편집기. 만약 입력이 끝날 수 있는 그런 것이 아니라, 이 기본 실행 방법을 선택했습니까 무시하려면 that& 간에 다른 안드로이드 버전을 # 39 에 있다. 이렇게 많은 키보드 설정을 선택할 수 있다 자신의 방식으로 that& # 39 의 사이에 일관성이 안드로이드 버전을.

따라서 특정 ',' s not 그렇게 간단한 it& # 39 는 주어진 특정 분야에 영향을 줄 수 있다고 에디토린포 there& # 39 의 버전, 행동, 심지어는 무리라구 일관성을 유지할 수 있도록 한 안드로이드 버전. # 39 를 입력 방법, 모든 일을 하고 있는 you& 힌트를 제공하고 있다 볼 수 있도록 방법을 선택했습니까 사용자.

해설 (3)

새로운 안드로이드 프로젝트를 시작할 때 데이터베이스에구성원을 질문이예요 좋은 힌트를 제공한다. There is an 활동 '으로 불리는' 로기나스티비티 만들 수 있는 기본 로그인 화면이. 이 활동은 에디트스트 생성하는 '' 도 있습니다.

[문서용으로] [1], 보나마나죠 경우 지금 읽고 있는 '속성' 아메오티언스 추가 작업을 텍스트 필드에 지정할 수 있습니다. 예를 들어, 키보드 등 조치를 가지고 있는 오른쪽 하단에 팝업되는 Next&quot ";). '안드로이드' 를 사용하여 다른 동작을 미리 정의된 목록에서 제공한 아메오티언스 선택할 수 있습니다. 같은 일이 &quot, actionSend&quot 지정할 수 있습니다. 또는 &quot actionSearch";).

해당 작업을 위한 활동을 위해 한 번 할 수 있습니다 '이벤트 핸들러를 사용하여 스톤디토레스티온리스트너' 들을 수 있다.

    mPasswordView = (EditText) findViewById(R.id.password);
    mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView textView, int id, KeyEvent keyEvent) {
            if (id == R.id.login || id == EditorInfo.IME_NULL) {
                attemptLogin();
                return true;
            }
            return false;
        }
    });

우리가 어떻게 이메이스티오니트 디이브이 대상으로 '' here. 또 다른 방법을 갖고 있는 '에서 대상을' 에디트스트 사용자의 활동을 동시에, 키보드의 동작을 변경할 수 있는 유연성을 입력입니다.

[1]: # 작업이든지 https://developer.android.com/training/keyboard-input/style.html

해설 (0)

누군가 설계 안드로이드 사용자 정의 키보드에 문제가 계시한하나님께 레이블에만 Enter 키를 정보정의다음 해야 합니다. [샘플 안드로이드 사용자 정의 키보드 우리는 다음과 같은 방법으로 소프트키보르자자바:

@Override
    public void onStartInput(EditorInfo attribute, boolean restarting)
    {
        super.onStartInput(attribute, restarting);
.
. // the implementation
. 
        mCurKeyboard.setImeOptions(getResources(), attribute.imeOptions);
    }

마지막 줄 변경하십시오 다음 행:

mCurKeyboard.setImeOptions(getResources(), attribute);

현재 같은 방법을 러틴키보르자자바 세이메루티언스 변경하십시오 벨로:

void setImeOptions(Resources res, EditorInfo ei)
    {
        if (mEnterKey == null)
        {
            return;
        }

        switch (ei.imeOptions & (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION))
        {
            case EditorInfo.IME_ACTION_SEND:
                mEnterKey.iconPreview = null;
                mEnterKey.icon = null;
                mEnterKey.label = res.getText(R.string.label_send_key);
                break;
            case EditorInfo.IME_ACTION_GO:
                mEnterKey.iconPreview = null;
                mEnterKey.icon = null;
                mEnterKey.label = res.getText(R.string.label_go_key);
                break;
            case EditorInfo.IME_ACTION_NEXT:
                mEnterKey.iconPreview = null;
                mEnterKey.icon = null;
                mEnterKey.label = res.getText(R.string.label_next_key);
                break;
            case EditorInfo.IME_ACTION_SEARCH:
                mEnterKey.icon = res.getDrawable(R.drawable.sym_keyboard_search);
                mEnterKey.label = null;
                break;
            default:
                mEnterKey.iconPreview = null;
                mEnterKey.label = res.getText(R.string.label_enter_key);
                mEnterKey.icon = null;
                break;
        }

        if (ei.actionLabel != null)
        {
            mEnterKey.iconPreview = null;
            mEnterKey.icon = null;
            mEnterKey.label = ei.actionLabel;
        }
    }

이제 사용자 정의 키보드 fs@snapa 이벤트수정적절한 레이블에만 이메이스티온라벨 위한 xml 파일 내용에 따라 정의되어 있습니다.

해설 (0)