У меня следующая проблема: у меня есть изображение, которое я хочу удалить, когда я переключаю свой телефон с портретного на альбомный.Он отлично работает, когда я занимаюсь текущей деятельностью и меняю ориентацию.Это также работает совершенно нормально, если я иду на другой вид деятельности и возвращаюсь.Но проблема в том, что после того, как я вернусь на свою главную страницу, onConfigurationChanged () не будет вызываться при первом изменении ориентации.Изображение будет отображаться / не показываться правильно, когда я вернусь, но при первом изменении ориентации после возврата onConfigurationChanged () не будет вызываться, и изображение будет оставаться / не оставаться до тех пор, пока я не изменю ориентацию во второй раз.Ребята, мы будем очень признательны за любую помощь!Вот пара частей моего кода.Я уже добавил в манифест разрешение на ориентацию configChange, так что это не проблема.
@Override
public void onConfigurationChanged(Configuration newConfig) {L.p("configList",5200184);
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE&&isVertical==true) {
Logo.setVisibility(ImageView.GONE);
mainLogo.setVisibility(ImageView.GONE);
isHorizontal=true;
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT&&isHorizontal==true){
Logo.setVisibility(ImageView.VISIBLE);
mainLogo.setVisibility(ImageView.VISIBLE);
isVertical=true;
}
}
@Override
protected void onResume() {L.p("onResumeList", 5200113);
super.onResume();
Context ctx = getApplicationContext();
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
if((display.getOrientation() == Surface.ROTATION_90) || (display.getOrientation() == Surface.ROTATION_270))
{//Horizontal
L.p("you are resuming horizontal",5200124);
Logo.setVisibility(ImageView.INVISIBLE);
mainLogo.setVisibility(ImageView.INVISIBLE);
isHorizontal=true;
//isVertical=false;
}
else {//Vertical
L.p("you are resuming vertical",5200131);
Logo.setVisibility(ImageView.VISIBLE);
mainLogo.setVisibility(ImageView.VISIBLE);
isVertical=true;
// isHorizontal=false;
}
tracker.trackPageView("/deviceList");
}
Спасибо!