我正在为10.1的所有平板电脑创建我的应用程序,现在我在三星galaxy选项卡上尝试这个。 我已经完成了所有这些部分,但警告对话框对于平板电脑尺寸来说太小了。 我还创建了自定义警报对话框但看起来不太好。 所以告诉我,如果是,那么我可以更改默认警报对话框的大小。
OR
如何创建看起来像默认警报对话框的自定义提醒对话框。
感谢。
答案 0 :(得分:13)
请参阅this one
根据Android平台开发人员Dianne Hackborn在this讨论组帖子中的说法,Dialogs将他们Window的顶级布局宽度和高度设置为WRAP_CONTENT。要使Dialog更大,可以将这些参数设置为FILL_PARENT。
演示代码:
AlertDialog.Builder adb = new AlertDialog.Builder(this);
Dialog d = adb.setView(new View(this)).create();
// (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.)
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(d.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
d.show();
d.getWindow().setAttributes(lp);
请注意,在显示对话框后设置属性。系统在设置时很挑剔。 (我猜布局引擎必须在第一次显示对话框时设置它们。)
最好通过扩展Theme.Dialog来做到这一点,然后你就不必玩一个关于何时调用setAttributes的猜谜游戏。 (尽管让对话框自动采用适当的浅色或深色主题或Honeycomb Holo主题还有一些工作要做。可以根据http://developer.android.com/guide/topics/ui/themes.html#SelectATheme完成)
答案 1 :(得分:0)
alert dialog框是一个小窗口,提示用户一些信息来做出决定或获取其他信息。警报对话框android用于显示带有肯定(确定)和否定(取消)按钮的消息。它仅用于提供和询问用户有关他们选择继续还是终止的信息。
为自定义警报对话框创建自定义视图,并将其命名为list_layout.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/head"
android:layout_width="match_parent"
android:layout_height="55dp"
android:background="@color/colorAccent"
android:text="TechNxt Code Labs"
android:textAlignment="center"
android:textColor="#fff"
android:textStyle="bold"
android:textSize="30sp"/>
<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="375dp"
android:src="@drawable/patientcare"/>
</LinearLayout>
现在,我们在android中设置自定义“警报对话框”视图:
final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.list_layout,null);
TextView tv = (TextView)view.findViewById(R.id.head);
ImageView iv = (ImageView)view.findViewById(R.id.iv);
builder.setView(view);
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Dismiss the dialog here
dialog.dismiss();
}
});
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Add ok operation here
}
});
builder.show();
查看此答案:How to create a custom alert dialog in android ?
快乐编码...