Я использую стиль для запуска полупрозрачного действия после долгого щелчка.проблема в том, что нижняя активность касалась до тех пор, пока пользователь не поднял палец с экрана.после того, как пользователь поднял палец и нажал снова, верхняя активность касалась.Любая идея, как сделать так, чтобы верхняя активность касалась с самого начала?
<style name="Theme.Transparent">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/white</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsFloating">false</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowAnimationStyle">@null</item>
</style>
И моя деятельность:
public class GroupDragForArchive extends BaseActivity {
private static final String DEBUG_TAG = "Gestures";
@Override
protected int getLayoutId() {
return R.layout.drag;
}
@Override
public boolean shouldBeLoggedInForActivity() {
return true;
}
@Override
public boolean shouldPollInActivity() {
return false;
}
@Override
protected void onCreated(Bundle savedInstanceState) {
}
public static void startActivity(Activity activity) {
Intent intent = new Intent(activity, GroupDragForArchive.class);
activity.startActivityForResult(intent, IntConst.RequestCodes.REQUEST_DRAG_FOR_ARCHIVE);
activity.overridePendingTransition(0, 0);
}
@Override
protected int getPayBoxTheme() {
return R.style.Theme_Transparent;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = MotionEventCompat.getActionMasked(event);
switch(action) {
case (MotionEvent.ACTION_MOVE) :
Log.d(DEBUG_TAG,"Action was MOVE");
return true;
case (MotionEvent.ACTION_UP) :
Log.d(DEBUG_TAG,"Action was UP");
return true;
case (MotionEvent.ACTION_CANCEL) :
Log.d(DEBUG_TAG,"Action was CANCEL");
return true;
case (MotionEvent.ACTION_OUTSIDE) :
Log.d(DEBUG_TAG,"Movement occurred outside bounds " +
"of current screen element");
return true;
default :
return super.onTouchEvent(event);
}
}
на моей нижней активности у меня есть вид рециркулятора, который содержит представления от типа структуры кадра,в структуре кадра я открываю второе действие таким образом:
setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Context context = mRecycler.getContext();
GroupDragForArchive.startActivity((Activity)context);
return true;
}
});