私のアプリケーションでは、画像をクリック可能にし、クリックすると、より大きなバージョンの画像を含む別のダイアログ タイプのアクティビティが起動されます。問題は、方向が変更されるたびに、背面の一時停止されたアクティビティが黒く点滅することです。向きの変化をアニメーション化していないようです。一時停止したアクティビティのみが黒く点滅します。
実行中のアクティビティのコードは次のとおりです。
public class ImageDialog extends Activity {
private ImageView mDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.image_dialog);
mDialog = (ImageView)findViewById(R.id.imageView2);
boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
if (tabletSize) {
// do something
} else {
int orientationMode = getResources().getConfiguration().orientation;
if (orientationMode == 1) {
changeViewPlease();
}
}
}
public void onScreenClickClose(View view) {
finish();
}
public void changeViewPlease() {
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
および使用されているスタイル:
<style name="myDialogTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">.8</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item>
</style>
レイアウト xml シート:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/image_dialog_root"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:onClick="onScreenClickClose" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:src="@drawable/image1largerotated" />
</FrameLayout>
みんな、ありがとう!