홈>
Android Programming/Java를 처음 사용합니다. 이미
class
가있을 때 동작 방향을 추가하는 방법을 알고 싶었습니다.
MainActvity로 확장 하시겠습니까?
package #####app.myapplication;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.view.MotionEvent;
import android.view.GestureDetector;
import android.support.v4.view.GestureDetectorCompat;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener,GestureDetector.OnDoubleTapListener{
private GestureDetectorCompat mygesture;
private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
@Override
public boolean onSingleTapConfirmed(MotionEvent motionEvent) {
return false;
}
@Override
public boolean onDoubleTap(MotionEvent motionEvent) {
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent motionEvent) {
return false;
}
@Override
public boolean onDown(MotionEvent motionEvent) {
return false;
}
@Override
public void onShowPress(MotionEvent motionEvent) {
}
@Override
public boolean onSingleTapUp(MotionEvent motionEvent) {
return false;
}
@Override
public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
return false;
}
@Override
public void onLongPress(MotionEvent motionEvent) {
}
@Override
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
}
@Override
public void onPointerCaptureChanged(boolean hasCapture) {
}
@Override
public boolean onTouchEvent(MotionEvent event) {
this.mygesture.onTouchEvent(event);
return super.onTouchEvent(event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Context context = getApplicationContext();
CharSequence text = "Welcome to ####";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
WebView vedant = (WebView) findViewById(R.id.vedant);
vedant.loadUrl("http://##.ml");
WebSettings webSettings = vedant.getSettings();
webSettings.setJavaScriptEnabled(true);
vedant.setWebViewClient(new WebViewClient());
this.mygesture = new GestureDetectorCompat(this,this);
mygesture.setOnDoubleTapListener(this);
}
}
제스처 방향을 사용하려면 다음을 수행해야합니다.
@Override
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH){
return false;
}
// right to left swipe
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
onLeftSwipe();
}
// left to right swipe
else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
onRightSwipe();
}
} catch (Exception e) {
}
return false;
}
return false;
}
그러나 다른 클래스
SimpleOnGestureListener
를 확장해야합니다.
.
내가
SimpleOnGestureListener
까지 확장 할 수 없었기 때문에
나는
interface
를 만들 수 있다고 생각
그런 다음 구현하십시오. 가능합니까? 그렇다면 어떻게해야합니까?- 답변 # 1
관련 자료
- java - 인터페이스에서 클래스를 만들고 객체를 문자열로 사용하는 메서드
- 파이썬에서 다른 인스턴스의 클래스 이름을 사용하여 인스턴스를 만드는 방법은 무엇입니까?
- c# - Visual Studio 2019 1681에서 Net 50 클래스 라이브러리 프로젝트를 만드는 방법은 무엇입니까?
- java - IntelliJ 문제-> 이름이 "Main"인 클래스를 만들 수 없음
- python - Django에서 클래스 기반 뷰 검색 창을 만드는 방법
- VBA Word normaldotm에서 클래스 모듈 개체 만들기
- android - MVVM을 사용하는 동안 ViewModel 클래스의 인스턴스를 만들 수 없습니다
- c# - 자식 클래스에서 인터페이스 속성을 구현하는 방법은 무엇입니까?
- 개발자 메서드를 사용하여 C #에서 클래스 라이브러리 만들기
- oop - 수정 불가능한 클래스를 어떻게 만들 수 있습니까? Flutter
- android - 조각에서보기 모델 클래스의 인스턴스를 만들 수 없습니다
- java - 인스턴스 변수없이 열거 형 클래스를 만드는 방법은 무엇입니까?
- 파이썬에서 자동으로 클래스의 인스턴스를 동적으로 생성하는 방법
- c# - AutoFixture 인터페이스 문제에서 인스턴스 생성
- java - Queue 클래스를 만들고 처음부터 마지막까지 내부 요소를 인쇄합니다
- 각도의 인터페이스를 사용하여 객체 배열 생성
- java - 클래스, 인터페이스 또는 열거 형이 2 개의 오류를 예상했습니다
- typescript - 기본 클래스에서 인스턴스를 만들고 타이핑 유지
- Java - 자바 - 모든 하위 클래스의 인스턴스를 저장할 수있는 부모 클래스 개체를 만들 수 있습니까?
- php - preg_match에서 클래스를 제거하는 방법 및 타임 스탬프를 만드는 방법
관련 질문
- java : 화면이 잠겨 있거나 꺼져 있을 때 카메라 셔터 onkeyevent가 있는 Android 앱
- java : viewModelFactory 클래스를 생성하는 동안 오류가 발생했습니다. 코틀린-안드로이드
- java : Android 그래픽으로 그림판에서 그래프 그리기
- java : bumblebee android studio 버전으로 업데이트할 때 오류 gradle
- java : Icon MenuItem 안드로이드 앱을 변경하는 방법
- java : 앱에 암시적 내부 의도 취약점이 있습니다.
- java : Android 앱 -지도 조각에서 사라지는 Google 지도 위치 마커
- java : URI를 업데이트하려고 할 때 FileNotFoundException이 발생하는 ActivityResultContracts.TakePicture()
- java : android studio에서 SQLite 데이터가 지속되지 않음
- java : Firebase 실시간 데이터베이스(android studio)를 읽거나 쓸 수 없습니다.
내가 올바르게 이해한다면, 당신은
GestureDetectorCompat
2 개의 매개 변수 사용 :컨텍스트
리스너 (GestureDetector.OnGestureListener
) )지금 당신은
mygesture = new GestureDetectorCompat(this,this);
를 어디this
당신의 활동입니다. 그러나 왜 당신의 활동이 청취자가되기를 원합니까? 분리 된 클래스에서 리스너를 만들 수 있습니다.그러면 할 수있는 일 :
주요 활동
MyGestureListener