Я работаю над проектом, который использует onTouchEvent (событие MotionEvent) для обработки события одного крана, когда я нажимаю экран, он скроет кнопку и снова появится когда вы снова нажмете. Я очень новичок в андроиде. Приложение отлично работает на моем lg-устройстве, которое работает на Kitkat, но не на моем samsung, который работает на Lollipop. Я провел почти 2 дня, исследуя это, но не повезло. Это, как я это сделал ...Single Tap работает отлично в другом устройстве, но не в каждом устройстве с использованием студии Android
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE: {
return false;
}
case MotionEvent.ACTION_DOWN: {
x1 = event.getX();
y1 = event.getY();
break;
}
case MotionEvent.ACTION_UP: {
x2 = event.getX();
y2 = event.getY();
diffx = x2 - x1;
diffy = y2 - y1;
boolean sameX = x2 + tolerance > event.getX() && x2 - tolerance < event.getX();
boolean sameY = y2 + tolerance > event.getY() && y2 - tolerance < event.getY();
if (sameX && sameY) {
if (gone == false) {
pages.setVisibility(View.GONE);
lib.setVisibility(View.GONE);
final Animation slide_out_up = AnimationUtils.loadAnimation(this, R.anim.slide_out_up);
lib.startAnimation(slide_out_up);
final Animation slide_out_down = AnimationUtils.loadAnimation(this, R.anim.slide_out_down);
pages.startAnimation(slide_out_down);
gone = true;
} else {
pages.setVisibility(View.VISIBLE);
lib.setVisibility(View.VISIBLE);
final Animation slide_in_down = AnimationUtils.loadAnimation(this, R.anim.slide_in_down);
lib.startAnimation(slide_in_down);
final Animation slide_in_up = AnimationUtils.loadAnimation(this, R.anim.slide_in_up);
pages.startAnimation(slide_in_up);
gone = false;
}
}
break;
}
}
return false;
}
и это мой Gradle ...
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.civitas.christian.fragments"
minSdkVersion 17
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'}
я действительно нужна помощь плохо ..
Почему вы используете сенсорное событие ... вместо нажатия кнопки? –
@HetalUpadhyay, я думаю, из-за ==== >>>, когда я нажимаю экран, он скроет кнопку и снова появится, когда вы снова коснетесь. – user1140237
ok ... вы хотите, чтобы на экране не касался кнопки ... правильно? –