我正在开发我的第一个Android应用程序,并且正在尝试设计我的活动。最终,我希望我的活动与对话框看起来一样。我使用Theme.Dialog
中的以下代码将AndroidManifest.xml
样式的所有活动都给了{/ 1}}:
<application
android:icon="@drawable/group"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog">
</application>
这使我的活动成为了#34;浮动&#34;外观和对话框的边框,但不是样式标题。标题与一般对话框背景具有相同的颜色和外观,而不是&#34;标题&#34;背景和边界,如真实&#34;对话。请注意,在两个示例中,标题下面都有一个漂亮的边框,而在第二个示例中,它有一个渐变背景。
有没有办法确保我的活动标题以某种方式继承系统对话框标题,以便有效地复制我的活动对话框的外观 - 除了边框和&#34;浮动&#34;它带有Theme.Dialog
样式?
请注意,我不想将我的活动称为另一个对话框,我只是希望它像dilaog一样 LOOK ,即使它是在响应中加载的按照我的清单的意图过滤器的意图。
ADD:我可以通过某种方式获得我的活动,当它在onCreate()
中旋转时,调用某种方法将自己变成实际的对话框吗?请记住,活动仍然需要能够响应系统中的意图。
答案 0 :(得分:4)
可以通过在styles.xml
中将其指定为父对话来自定义Dialog主题<resources>
<style name="MyDialogTheme" parent="android:Theme.Dialog">
<item name="android:background">#ffdddddd</item>
</style>
</resources>
如果为自定义对话框样式和布局(在main.xml文件中的布局标题下添加android:background="#ffffffff"
)的背景提供不同的颜色,则会给出一个类似于外观的系统对话框。
希望这会有所帮助..
错过提及: 请参阅清单中的自定义主题,如下所示:
android:theme="@style/MyDialogTheme"
答案 1 :(得分:2)
你可以这样做..
为对话框创建一个布局,并按如下所示进行设置。
Dialog mDialog = new Dialog(MainScreen.this,android.R.style.Theme_Translucent_NoTitleBar);
mDialog .requestWindowFeature(Window.FEATURE_NO_TITLE);
mDialog .setContentView(R.layout.dialoglayout);
mDialog .show();
答案 2 :(得分:2)
在决定查看我想要做的 后,我找到了一种不同的方法,而不是如何做。我重新提出了我的问题,寻找方法思路,而不是实施思路here。 GalDude33帮助我弄清楚如何达到我想要的效果。他的回答就是这个Q的答案。