2016-04-18 3 views
0

Предположим, что у меня есть активность с двумя фрагментами X и Y, расположенными горизонтально рядом друг с другом и одним скрытым фрагментом навигационного ящика. Всякий раз, когда я нажимаю кнопку на фрагменте X, фрагмент ящика навигатора скользит справа и имеет место над фрагментом Y. Поскольку я сделал это прозрачным, теперь пользователи могут видеть фрагмент X вместе с фрагментом ящика навигации, расположенным горизонтально рядом. Но этот фрагмент ящика навигации отключает X-фрагмент, поскольку он фактически накладывает действие. Как сохранить активный переход активности при открытии ящика навигации?Как остановить навигационный ящик от отключения моей активности?

+1

Почему вы хотите бороться с системой? Если действие должно быть живым, не используйте навигационный ящик. – Henry

+0

Я согласен с Генри, но на этот вопрос ответили ранее: http://stackoverflow.com/questions/18743124/make-main-content-area-active-in-drawerlayout –

+0

Генри, мне, возможно, потребуется сохранить состояние фрагмент Y и заменять его каждый раз состоянием. Вот почему я думал о навигационном ящике. Майк, моя проблема похожа, позвольте мне взглянуть. Я не мог найти вопрос о stackoverflow. Спасибо за предложение. – Aveek

ответ

0

Написать собственный класс для Navigartion полкой

public class CustomDrawer extends DrawerLayout { 

public CustomDrawer(Context context) { 
    super(context); 
} 

public CustomDrawer(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public CustomDrawer(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

@Override 
public boolean onInterceptTouchEvent(MotionEvent ev) { 
    View drawer = getChildAt(1); 

    if (getDrawerLockMode(drawer) == LOCK_MODE_LOCKED_OPEN && ev.getRawX() > drawer.getWidth()) { 
     return false; 
    } else { 
     return super.onInterceptTouchEvent(ev); 
    } 
} 
} 

У меня был тот же самый вопрос. Этот код отсюда Make fragment clickable when navigation drawer is opened

+0

Спасибо! Это решило мою проблему :) :) – Aveek

Смежные вопросы