我正在重复我在谷歌小组(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是什么样的? 谢谢!
答案 0 :(得分:1)
如果您正在为对话框使用自定义布局,只需设计一个新布局并将其放在layout-land文件夹中(如果需要,则创建它),这样它将自动加载相应的文件夹。