Activity以dialog形式打开

在Android中,通过在AndroidManifest.xml中为Activity设置android:theme="@android:style/Theme.Dialog",可以将Activity显示为对话框模式。此外,文章还介绍了Android的各种预定义主题,如无标题栏、全屏模式等,并提到了自定义Theme的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键技术点:

在AndroidManifest.xml中定义activity时,加上android:theme="@android:style/Theme.Dialog" 属性即可

例如:

<activity
            android:name=".DialogActivity"
            android:label="测试的"
            android:theme="@android:style/Theme.Dialog">
        </activity>

效果如下图所示:


拓展一:android中所有的theme

?android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式
?android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏
?android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏
?android:theme="Theme.Light"  背景为白色
?android:theme="Theme.Light.NoTitleBar"  白色背景并无标题栏 
?android:theme="Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏
?android:theme="Theme.Black"  背景黑色
?android:theme="Theme.Black.NoTitleBar"  黑色背景并无标题栏
?android:theme="Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏
?android:theme="Theme.Wallpaper"  用系统桌面为应用程序背景
?android:theme="Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏
?android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen"  用系统桌面为应用程序背景,无标题栏,全屏
?android:theme="Translucent"
?android:theme="Theme.Translucent.NoTitleBar"
?android:theme="Theme.Translucent.NoTitleBar.Fullscreen"
?android:theme="Theme.Panel"
?android:theme="Theme.Light.Panel"

参考地址:http://blog.youkuaiyun.com/tianshuguang/article/details/6898355

拓展二:自定义Theme

AndroidManifest.xml 文件中,申明 activity 的主题使用自定义对话框样式。  
<activity android:name=".SensorGetValueActivity" 
                android:label="@string/activity_custom_dialog" 
                android:theme="@style/Theme.CustomDialog">  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
                <category android:name="android.intent.category.SAMPLE_CODE" />  
            </intent-filter>  
</activity>  
   
   
2、res/values/styles.xml 样式文件中定义一个对话框主题样式,这里继承了 android:style/Theme.Dialog 主题,  
   
并且窗口样式 android:windowBackground 引用了 @drawable/filled_box  
   
<style name="Theme.CustomDialog" parent="android:style/Theme.Dialog">  
    <item name="android:windowBackground">@drawable/filled_box</item>  
</style>  
   
3、res/drawable/filled_box.xml 定义了 Shape 类型的 drawable(抽象的可画区域),最终是通过这个来实现新对话框的样式。  
<shape xmlns:android="http://schemas.android.com/apk/res/android">  
    <solid android:color="#f0600000"/>  
    <stroke android:width="3dp" color="#ffff8080"/>  
    <corners android:radius="3dp" />  
    <padding android:left="10dp" android:top="10dp" 
        android:right="10dp" android:bottom="10dp" />  
</shape>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值