Android Полупрозрачная активность не соприкасается с самого начала - PullRequest
0 голосов
/ 23 декабря 2018

Я использую стиль для запуска полупрозрачного действия после долгого щелчка.проблема в том, что нижняя активность касалась до тех пор, пока пользователь не поднял палец с экрана.после того, как пользователь поднял палец и нажал снова, верхняя активность касалась.Любая идея, как сделать так, чтобы верхняя активность касалась с самого начала?

<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;
        }
    });
...