Activity以dialog形式開啟

2021-06-28 07:28:28 字數 3715 閱讀 3025

在androidmanifest.xml中定義activity時,加上android:theme="@android:style/theme.dialog" 屬性即可

例如:效果如下圖所示:

?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.wall*****"  用系統桌面為應用程式背景

?android:theme="theme.wall*****.notitlebar"  用系統桌面為應用程式背景,且無標題欄

?android:theme="theme.wall*****.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"

androidmanifest.xml 檔案中,申明 activity 的主題使用自定義對話方塊樣式。

<activityandroid:name=".sensorgetvalueactivity"

android:label="@string/activity_custom_dialog"

android:theme="@style/theme.customdialog">

<intent-filter>

<actionandroid:name="android.intent.action.main"/>

<categoryandroid:name="android.intent.category.sample_code"/>

2、res/values/styles.xml 樣式檔案中定義乙個對話方塊主題樣式,這裡繼承了 android:style/theme.dialog 主題,

並且視窗樣式 android:windowbackground 引用了 @drawable/filled_box

<stylename="theme.customdialog"parent="android:style/theme.dialog">

<itemname="android:windowbackground">@drawable/filled_box

3、res/drawable/filled_box.xml 定義了 shape 型別的 drawable(抽象的可畫區域),最終是通過這個來實現新對話方塊的樣式。

<shapexmlns:android="">

<solidandroid:color="#f0600000"/>

<strokeandroid:width="3dp"color="#ffff8080"/>

<cornersandroid:radius="3dp"/>

<paddingandroid:left="10dp"android:top="10dp"

android:right="10dp"android:bottom="10dp"/>

將activity變成dialog風格

其實很簡單 只是把activity的theme設定成dilog形式的 下面是defaultfullscreendialoganimation 下面是dialogiosanimation 下面是出現的效果dialog ios scale in 下面是淡出效果dialog ios scale out 這...

定義Activity及Dialog的進入退出效果

設定dialog首先通過getwindow 方法獲取它的視窗,然後通過getattributes 方法獲得window的windowmanager.layoutparams lp,lp有個公共屬性windowanimations,只要把要實現的animation的id賦值給它就可以了。問題是這個an...

dialog設定透明度 activity設定透明度

作了兩個dialog,想設定第二個透明些,即從第二個dialog上能看到其下面的第乙個dialog的內容,找到乙個設定,試了一下不錯,方法如下 windowmanager.layoutparams lp dialog.getwindow getattributes lp.alpha 1.0f dia...