我想在我的Android应用程序中使用一个活动作为对话框。直到现在,我已经使用了AlertDialogs
,但我想让我的应用更加流行。我对此做了很多研究,但找不到满意的答案。
我分别为java和xml文件创建了一个名为DialogActivity.java
和dialogactivty
的新活动。
那么,如何在其他活动中将此活动称为对话框?
和
如何为此活动提供圆角矩形对话框形状? 提前谢谢!
答案 0 :(得分:1)
如果您想要自定义对话框,则可以将活动显示为 对话框而不是使用Dialog API。只需创建一个活动和 将其主题设置为清单元素中的
Theme.Holo.Dialog
:<activity android:theme="@android:style/Theme.Holo.Dialog" >
就是这样。活动现在显示在对话框窗口中而不是 全屏。
将Theme.Dialog
用于API 10或更低版本。
答案 1 :(得分:1)
您可以将对话框主题设置为活动为
<activity android:theme="@android:style/Theme.Dialog" />
并使用
<activity android:theme="@android:style/Theme.Holo.Dialog" /> // api level 11 and above
在所需活动的清单中。
您需要使用startActivity(intent)
答案 2 :(得分:0)
试试这个:
android:theme="@android:style/Theme.Dialog">
在清单中输入您需要的活动。
答案 3 :(得分:-1)
@ChinmayDabke要显示圆角,您需要使用xml创建一个新的shape
并将其设置为背景可绘制对象。请确保还为您的活动设置透明度。有关此问题的更多详细信息,有许多最新主题可用-自您提出要求以来,我只是想快速答复此旧帖子!
我的错误-您不需要设置为“透明”-我的意思是说不设置标题栏!
示例:
在 res / drawable 文件夹内为圆形背景创建一个形状:
shape_background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="@color/colorOfActivityHere"/>
<corners
android:radius="12dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
然后将形状设置为活动的父级布局的背景:
layout_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="6dp"
android:background="@drawable/shape_background"
android:orientation="vertical">
...
</LinearLayout>
在您的Activity.java中,不设置标题栏:
Activity.java
requestWindowFeature(Window.FEATURE_NO_TITLE);