android – 当我旋转移动时,活动屏幕不旋转
作者:互联网
我已经使用了这个代码,因为@gnobal在https://stackoverflow.com/a/2700683/1556329上发布了它并且效果很好.但我的问题是,我发现当我应用Theme.Transparent时,当我旋转手机时,活动不会进入横向模式.
主题:
<style name="Theme.Transparent" parent="android:Theme.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layoutImagen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:windowContentOverlay="@null"
android:windowNoTitle="true"
tools:context=".ImagenExamen_activity" >
<!-- android:background="#CC000000" -->
<!-- android:backgroundDimEnabled="true" -->
<ImageView
android:id="@+id/imageViewImagen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</LinearLayout>
活动:
import android.app.Activity;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import com.meapp.Utilities;
public class Imagen_activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_imagen_examen);
Bundle b = getIntent().getExtras();
String imagen = b.getString("imagen_name");
int id = getResources().getIdentifier(imagen, "drawable", getPackageName());
ImageView imageView = (ImageView) findViewById(R.id.imageViewImagen);
// Determinacion tamaño fuente
BitmapFactory.Options bitmapOpt = new BitmapFactory.Options();
bitmapOpt.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), id, bitmapOpt);
int[] screen_dim = Utilites.verDimensionesPantalla(this);
// más eficiente si se usa una potencia de 2
imageView.setImageBitmap(Utilities
.decodeSampledBitmapFromResource(getResources(), id,
screen_dim[0], screen_dim[1], true));
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
cerrarImagen();
}
});
}
public void cerrarImagen() {
((Activity) this).finish();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.imagen_examen_, menu);
return true;
}
}
为什么不能旋转?我试图将windowIsFloating更改为false,并在没有运气的情况下更改其他参数.
解决方法:
你可以看看这个
android:screenOrientation="sensor"
or
android:screenOrientation="user"
将其中一个添加到您的清单< activity .............. />.
如果你想避免重新创建你的活动android,请不要忘记将它添加到清单中的应用程序中:configChanges =“keyboardHidden | orientation | screenSize”
标签:android,android-activity,screen-orientation 来源: https://codeday.me/bug/20191001/1839068.html