当我在我的 ICS 设备上以横向模式显示一个对话框时,该对话框的显示宽度与它在纵向模式下的宽度相同。
但是在运行姜饼的设备上,当对话框处于横向模式时,它会显示整个屏幕的宽度,而不是所有内容都紧凑
他们是否改变了 ICS 中对话框的显示方式,它不会像第二张图片那样在屏幕上显示?我怎样才能让它像第二张图片一样显示出来,所以它看起来不像第一张那样紧凑?
此应用程序的目标 api 也是 2.2,所以我不能使用任何 ICS api 或任何东西
编辑
这就是我调用对话框的方式
incDialog = new MessageDialog(this, R.style.FullHeightDialog);
incDialog.PopUpMessage(this, oMessage);
对话框位于扩展对话框的单独类中
这是PopUpMessage
实际显示对话的方法
public void PopUpMessage(final Context context, clsMessageRecord oMessage) {
MainActivity.lastMessageClicked = oMessage;
moCallingContext = context;
moMessage = oMessage;
MainActivity.miShownDialogType = DialogID;
MainActivity.setShownMessage(moMessage);
MainActivity.mbIntentWasShown = true;
Log.i(className + "::PopUpMessage", "New Message Dialog Show....");
if (oMessage != null) {
if (oMessage.getIsStation() == true) {
// Incident Message Dialog
this.setContentView(R.layout.message_st);
clsStatusRecord oStation = ControlService.DB.StatusList.GetMessageByECM2ID(oMessage.ECM2ID);
if (oStation != null) {
if (oStation.AllowMapping()) {
ImageButton cmdMapping = (ImageButton) this.findViewById(R.id.cmdMapping);
cmdMapping.setVisibility(ImageButton.VISIBLE);
cmdMapping.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
MainActivity.loaded = false;
HandleMapping();
}
});
} else {
ImageButton cmdMapping = (ImageButton) this.findViewById(R.id.cmdMapping);
cmdMapping.setVisibility(ImageButton.GONE);
}
if (oStation.IsChief()) {
ImageButton cmdChief = (ImageButton) this.findViewById(R.id.cmdChiefList);
cmdChief.setVisibility(ImageButton.VISIBLE);
cmdChief.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
MainActivity.loaded = false;
handleResponders();
}
});
} else {
ImageButton cmdChief = (ImageButton) this.findViewById(R.id.cmdChiefList);
cmdChief.setVisibility(ImageButton.GONE);
}
}
mStationID = moMessage.ECM2ID;
mMessageID = moMessage.MessageID;
TextView txtHeader = (TextView) this.findViewById(R.id.txtDialogHeader);
TextView txtTOC = (TextView) this.findViewById(R.id.txtDialogTOC);
TextView txtMessage = (TextView) this.findViewById(R.id.lblMessage);
txtHeader.setText(oMessage.ECM2Name);
txtTOC.setText(oMessage.TOC);
txtMessage.setText(oMessage.MessageText);
if(oMessage.MessageText.toUpperCase().startsWith("UPDATE")) {
ImageButton cmdResp = (ImageButton) this.findViewById(R.id.cmdResponding);
cmdResp.setEnabled(false);
cmdResp.setImageResource(R.drawable.responding_disabled);
ImageButton cmdDecl = (ImageButton) this.findViewById(R.id.cmdDeclining);
cmdDecl.setEnabled(false);
cmdDecl.setImageResource(R.drawable.declining_disabled);
ImageButton cmdChief = (ImageButton) this.findViewById(R.id.cmdChiefList);
cmdChief.setEnabled(false);
cmdChief.setImageResource(R.drawable.chief_disabled);
}
ImageView imgIcon = (ImageView) this.findViewById(R.id.imgIcon);
switch (oMessage.State) {
case etMSNewMessage:
imgIcon.setBackgroundDrawable(context.getResources().getDrawable(imgSTNew));
break;
case etMSResponded:
imgIcon.setBackgroundDrawable(context.getResources().getDrawable(imgSTResponded));
break;
case etMSDeclined:
imgIcon.setBackgroundDrawable(context.getResources().getDrawable(imgSTUnavailable));
break;
}
Button cmdExit = (Button) this.findViewById(R.id.cmdExit);
cmdExit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
MainActivity.messageShown=false;
ClosePopup();
}
});
ImageButton cmdDeclining = (ImageButton) this.findViewById(R.id.cmdDeclining);
cmdDeclining.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
HandleDeclining(context);
}
});
ImageButton cmdResponding = (ImageButton) this.findViewById(R.id.cmdResponding);
cmdResponding.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
HandleResponding(context);
}
});
Log.e(className + "::PopUpMessage", "Message View Shown (Incident)");
this.show();
} else {
// Distribution List Dialog
this.setContentView(R.layout.message_dl);
Log.e(className + "::PopUpMessage", "Message Content Filling (Dist)");
TextView txtHeader = (TextView) this.findViewById(R.id.txtDialogHeader);
TextView txtTOC = (TextView) this.findViewById(R.id.txtDialogTOC);
TextView txtMessage = (TextView) this.findViewById(R.id.lblMessage);
txtHeader.setText(oMessage.ECM2Name);
txtTOC.setText(oMessage.TOC);
txtMessage.setText(oMessage.MessageText);
ImageView imgIcon = (ImageView) this.findViewById(R.id.imgIcon);
imgIcon.setBackgroundDrawable(context.getResources().getDrawable(imgDLRead));
Button cmdExit = (Button) this.findViewById(R.id.cmdExit);
cmdExit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
MainActivity.messageShown=false;
MainActivity.disMessageShown=false;
HandleCancel();
messageType = false;
}
});
ImageButton cmdReplyToSender = (ImageButton) this.findViewById(R.id.cmdReplyToSender);
cmdReplyToSender.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
HandleReplyToSender();
}
});
clsStatusRecord oRec = oMessage.GetStatusRecord();
if (oRec != null) {
ImageButton cmdReplyToDL = (ImageButton) this.findViewById(R.id.cmdReplyToDL);
if (oRec.AllowWrite()) {
// ImageButton cmdReplyToDL = (ImageButton) this.findViewById(R.id.cmdReplyToDL);
cmdReplyToDL.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
HandleReplyToDL();
}
});
}else{
cmdReplyToDL.setEnabled(false);
cmdReplyToDL.setImageResource(R.drawable.replytodistlist_up_disabled);
}
}
Log.e(className + "::PopUpMessage", "Message View Shown (Dist)");
messageType = true;
this.show();
}
} else {
}
}
这是xml布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="vertical"
android:layout_height="match_parent"
android:padding="2dip" android:paddingTop="2dip" android:layout_width="fill_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="match_parent"
android:padding="0dip" android:layout_width="fill_parent">
<RelativeLayout
android:id="@+id/contentLayout2"
android:orientation="vertical"
android:padding="0dip"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:background="#000000"
android:layout_weight="0" android:layout_width="fill_parent">
<ImageView
android:id="@+id/imgIcon"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="top|left" android:contentDescription="@string/desc">
</ImageView>
<TextView
android:layout_height="wrap_content"
android:text=""
android:id="@+id/txtDialogHeader"
android:layout_width="match_parent"
android:textStyle="bold"
android:layout_toRightOf="@id/imgIcon"
android:paddingLeft="5dip" android:textColor="#ff2525" android:textSize="18dip">
</TextView>
<TextView
android:layout_height="wrap_content"
android:text=""
android:id="@+id/txtDialogTOC"
android:layout_width="match_parent"
android:layout_toRightOf="@id/imgIcon"
android:layout_below="@id/txtDialogHeader"
android:paddingLeft="5dip" android:textSize="19dip" android:textStyle="bold">
</TextView>
</RelativeLayout>
<ScrollView
android:id="@+id/scrollMessageFrame"
android:layout_height="match_parent"
android:padding="0dip"
android:background="#AA0000"
android:layout_weight="1" android:layout_width="fill_parent">
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text=""
android:id="@+id/lblMessage"
android:padding="5dip"
android:background="#000000"
android:minHeight="140dip" android:textColor="#f2f2f2" android:textSize="20dip">
</TextView>
</ScrollView>
<RelativeLayout
android:id="@+id/contentLayout3"
android:orientation="vertical"
android:background="#000000"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal" android:gravity="center_horizontal" android:layout_width="match_parent">
<ImageButton
android:id="@+id/cmdResponding"
android:layout_width="62dip"
android:layout_height="62dip"
android:layout_marginRight="10dip"
android:contentDescription="@string/desc"
android:src="@drawable/responding_ref" android:background="@drawable/responding_up" android:layout_marginTop="5dip" android:layout_marginLeft="5dip">
</ImageButton>
<ImageButton android:id="@+id/cmdDeclining" android:src="@drawable/declining_ref" android:background="@drawable/declining_up" android:layout_alignTop="@+id/cmdResponding" android:layout_alignBottom="@+id/cmdResponding" android:layout_height="62dip" android:layout_width="62dip" android:layout_marginLeft="3dip" android:layout_toRightOf="@+id/cmdResponding" android:layout_marginRight="10dip" android:contentDescription="@string/desc"></ImageButton>
<ImageButton
android:id="@+id/cmdChiefList"
android:layout_width="62dip"
android:layout_height="62dip"
android:layout_toRightOf="@+id/cmdDeclining" android:background="@drawable/chief_up" android:layout_marginRight="10dip" android:src="@drawable/chief_ref" android:contentDescription="@string/desc" android:layout_marginTop="5dip" android:layout_marginLeft="6dip"/>
<ImageButton android:id="@+id/cmdMapping" android:background="@drawable/globe_up" android:src="@drawable/mapping_ref" android:layout_height="60dip" android:layout_width="60dip" android:layout_marginLeft="2dip" android:layout_toRightOf="@+id/cmdChiefList" android:layout_marginTop="5dip" android:contentDescription="@string/desc"></ImageButton>
</RelativeLayout>
</LinearLayout>
<Button
android:text=""
android:textSize="16dip"
android:layout_height="40dip"
android:layout_width="40dip"
android:id="@+id/cmdExit"
android:background="@drawable/closepopup"
android:layout_gravity="top|right" android:contentDescription="@string/desc">
</Button>
</FrameLayout>