focusable과 focusableInTouchMode의 차이점은 무엇입니까?
각각의 실제 차이점을 알고 싶습니다. 어떤 상황에서 도움이 더 많습니까?
몇 가지 예를 제시하고 자세히 설명하십시오.
Android 개발자 블로그 : http://android-developers.blogspot.co.at/2008/12/touch-mode.html에 설명되어 있습니다.
다음 인용문을 명확하게 알 수 있습니다.
자체로 터치 모드는 마지막 사용자 상호 작용이 터치 스크린으로 수행 여부를 표시하기 때문에 매우 이해하기 쉽습니다. 예를 들어 G1 휴대 전화를 사용하는 경우 트랙볼이있는 위젯을 선택하면 터치 모드가 종료됩니다.
...
터치 모드에서는 점점 늘어나는 선택이 없습니다. 그리드의 목록에서 선택한 항목은 사용자가 터치 모드로 즉시 선택 취소됩니다. 포커스가있는 위젯은 포커스가 해제됩니다.
...
이제 터치 모드에서는 증가가 존재하지 않는다는 것이 아니라는 점을 설명해야합니다. 포커스는 터치 모드에서 추천 수 있습니다 매우 특별한 방식으로 터치 모드에서 포커스 가능이라고 부 사용합니다. 이 특수 모드는 EditText 또는 필터링이 활성화 된 경우 ListView와 같은 텍스트 입력을받는 위젯을 위해 만들어졌습니다.
...
터치 모드에서 포커스 가능은 코드 또는 XML에서 직접 수있는 속성입니다. 그러나 Android 정상 동작과의 일관성을 깨뜨리기 때문에 매우 그렇습니다. 게임은 터치 모드에서 포커스 가능 속성을 잘 수있는 응용 프로그램의 좋은 예입니다. Google에서와 같이 전체 화면에서 사용되는 경우 MapView는 터치 모드에서 포커스 가능을 사용할 수있는 또 다른 좋은 예입니다.
몇 가지 예를 들어 자세히 설명하십시오.
제 경험을 드릴게요.
많은 ImageButton이있는 활동이있는 Google TV 애플리케이션이 있습니다.
ImageButton을 선택할 수 있습니다.
따라서 사람이 마우스 나 리모컨으로 클릭하면 선택 만됩니다 (제 경우 강조 표시됨). 그런 다음 사용자가 선택한 항목을 찾는 ImageButton
작업이 트리거됩니다. 이 동작은 focusableInTouchMode
XML 레이아웃을 통해 속성을 활성화하여 달성되었습니다 .
내가해야 할 일은 onClickListener
하여 ImageButton 짜잔에과 , 대한 평범함을 설정하는을 구석으로 뿐 이었습니다 !
핸드셋에서 내 응용 프로그램을 확인하지 않고 익숙한 결과를 제공 할 것입니다.
편집하다
언제?
제가 테스트 한 사례를 말씀 드렸습니다. 버튼이 onClickListener
두 번째 클릭에서 액션을 트리거 하기를 원할 때 , Button
.
첫 번째 클릭을 사용하여 "초점"을 내 버튼에 확대 축소 애니메이션을 표시했습니다.
어떻게?
XML 파일에서 레이아웃 버튼의 속성 focusableInTouchMode
을 true
로 설정하기 만하면 됩니다.
Focused는보기를위한 상태이며 일반적으로 포커스는 트랙볼과 dpad로 설명 수 있습니다. 상황에 따라 다양하게 맞춰지면 뷰의 배경이 다를 수 있습니다.
터치 모드에서 Focusable을 사용하면 뷰를 터치 할 때 뷰 사용자에 점점 맞출 수 있습니다 EditText
. 이러한 구성 요소의 좋은 예는 .
로 Button
또는 클릭 할 수있는 구성 요소 프레스 상태에 관심이 무엇 일반적이다.
사용자는 하드웨어 키 또는 버튼을 사용하거나 화면을 터치하여 장치와 상호 작용할 수 있습니다. 화면을 터치하면 장치가 터치 모드로 전환됩니다. 그런 다음 사용자는 화면의 가상 버튼, 이미지 등을 터치하여 상호 작용할 수 있습니다.
장치가 터치 모드인지 확인 예측 클래스의 isInTouchMode () 메서드를 호출합니다 .
참고 URL : https://stackoverflow.com/questions/24155956/difference-between-focusable-and-focusableintouchmode
'ProgramingTip' 카테고리의 다른 글
Safari 개발자 도구 : 탐색시 콘솔 로그를 보존하는 방법? (0) | 2020.10.30 |
---|---|
중첩 된 뷰 및 모델을 구조화하는 backbone.js (0) | 2020.10.30 |
Xcode 6 App Store 출시이 "계정에 이미 유효한 iOS 배포 인증서가 있습니다"와 함께 실패 함 (0) | 2020.10.30 |
2d 목록을 2d numpy 배열로 변환하는 방법은 무엇입니까? (0) | 2020.10.30 |
Instagram 액세스 토큰을 얻는 방법 (0) | 2020.10.30 |