我正在重复一个帖子,我在google group(http://groups.google.com/group/android-developers/browse_thread/thread/78d0b7496a51e3b7#)的android组中发过一篇文章,希望我在这里有一些运气!总是查看横向对话框
我有一项活动显示项目列表。点击一个项目, 我显示一个全屏幕对话框,包含一些按钮和图像。这 看起来不错,但在纵向看起来不太好(由于 图像的纵横比)。我想知道它是否可能以 总是在横向上显示此对话框,而不管当前屏幕的方向是 。在对话结束后,我会将 的方向切换回传感器。这是我到目前为止有:
OnItemClickListener listlistener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View arg1, int position,
long arg3) {
final Dialog dialog = new Dialog(getParent());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
final int orientation =
getResources().getConfiguration().orientation;
if (orientation == 1){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
dialog.setContentView(R.layout.dialog);
dialog.setCancelable(true);
ImageView img = (ImageView) dialog.findViewById(R.id.img); //A
static image for testing UI
//BUTTON LISTENERS HERE
dialog.show();
dialog.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
});
}
};
但这样做,屏幕第一改变方向,然后尝试 显示对话框。但在方向更改屏幕 重新启动活动,我的对话框不显示。有没有更简单的 方法来做到这一点?我可以使用两种不同的对话框布局,并根据方向加载相应的布局吗?如果是这样,那么 纵向模式的XML会是什么样子? 谢谢!
也许我没有说清楚。当用户点击一个项目时,如果当前方向是纵向,我希望对话框在全屏中以全屏方式打开。如何以这种方式加载对话框?由于我的图片长度总是大于其高度,因此以纵向模式加载对话框会在图片上方和下方创建大量空白区域。 – WanderingWizard 2010-12-08 18:11:54