我尝试使用搜索,但没有找到解决此问题的方法。 我有一个固定横向的相机应用程序。 orientationEventListener正确旋转我的所有按钮。但是,有些按钮会显示对话框或警告对话框,并且这些对话框不会旋转。以下是MainActivity中相关的缩写代码
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog = new Dialog(CameraActivity.this);
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
dialog.setContentView(R.layout.layout_dialog_mode);
// set up texts in layout_dialog_mode
和
private void createMenu() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final String[] modeS = {getString(R.string.mode_1), getString(R.string.mode_2), getString(R.string.mode_3), getString(R.string.mode_4), getString(R.string.mode_5)};
builder.setTitle(getString(R.string.mode_title));
builder.setSingleChoiceItems(modeS, mode, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
// set things as chosen by user
}
dialog.dismiss(); /* close menu after selection */
}
});
builder.show();
}
layout_dialog_mode是一个包含TextViews和ImageViews的linearLayout。
按钮的旋转方式如下:
private void initialiseOEListener() {
oEListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
try {
if (orientation == ORIENTATION_UNKNOWN) return;
orientation = (orientation + 45) / 90 * 90;
switch (orientation) {
// set params and orientation
}
ImageButton ibu = (ImageButton) findViewById(R.id.button0);
ibu.setRotation(orientation);
ibu = (ImageButton) findViewById(R.id.button1);
ibu.setRotation(orientation);
// and so on
} catch (Exception e) {
}
}
};
现在我的问题:是否可以像按钮一样旋转对话框?目前,它们以横向显示,因为我将此活动的设备方向设置为横向。例如,当用户将手机旋转为纵向并单击按钮1时,对话框将显示错误,因为它未旋转。
非常感谢
答案 0 :(得分:0)
好的,所以我通过为每个对话框创建单独的Activity来解决问题。现在的问题是,当旋转新的前景对话框Activity时,后台Activity也会旋转!当我旋转前景活动时,我可以以某种方式设置背景活动方向吗?