私は以下の問題があります。私の電話を縦長から横長に変更すると消えたい画像があります。私が現在の活動をしているときに、それは完璧にうまく動作し、オリエンテーションを動かす。私は別のアクティビティに行って戻ってきても、まったく問題なく動作します。しかし、問題は、メインページに戻ると、onConfigurationChanged()は最初に向きを変えるときに呼び出されないということです。返されたときに画像が正しく表示されないか表示されますが、返された後に最初に向きを変更すると、onConfigurationChanged()は呼び出されず、画像は2回目の向き変更まで保持されます。皆さんのご協力をお待ちしております。 ここに私のコードのいくつかの部分があります。マニフェストにconfigChange- orientationパーミッションを置いておくと、問題はありません。onConfigurationChangedは、別のアクティビティから初めて返されたときに呼び出されません。
@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");
}
ありがとうございます!
私は同じ問題があります。あなたはそれを修正することができましたか? –