0

我意识到这个问题有点奇怪,但我想停止使用已弃用的选项菜单并切换到操作栏。不幸的是,为此我必须使用 Holo 主题,它带有与以前不同的 AlertDialog 设计。

这个新设计打破了我的 UI 外观。是否可以在 Holo 样式的活动中创建旧样式的对话框?

相关问题:除了 AlertDialog 之外,还有什么是能够显示我自己的布局的弹出窗口,并且在我的自定义布局周围没有边框和其他主题定义的东西?

4

2 回答 2

1

根据您在 AndroidManifest 文件中设置的 minSDKVersion,您可以为对话框选择主题。您可以将它们设置为 Holo / Device Default,但要做到这一点,您的 minSdk 值应该是 10+,即使我认为使用 DeviceDefault 它应该是 JellyBean。

如果您想创建自己的布局并使用它没有任何边框等会破坏您的设计,您应该使用 Dialog 而不是 AlertDialog 并对其进行自定义。你可以这样做:

final Dialog alert = new Dialog(FingerPaintActivity.this, android.R.style.Theme_Light_Panel);
alert.requestWindowFeature(Window.FEATURE_NO_TITLE); // no title 
alert.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation; // this is used for custom animation when dialog is showing and hiding 
alert.setContentView(getLayoutInflater().inflate(R.layout.stamps, null)); // here is your custom layout
alert.getWindow().setLayout(width-50, (height-100)); // set height / width

并且当您想在按钮中触发 onlclick 时,例如放置在 R.layout.stamps 中,如示例中所示,您应该这样做:

Button dog = (Button) alert.findViewById(R.id.dog_stamp);
于 2013-01-24T12:21:49.817 回答
0

您可以创建自定义AlertDialog.

例如:http ://www.mkyong.com/android/android-custom-dialog-example/

于 2013-01-24T12:15:29.603 回答