今天做項目,突然要用到在一個activity上浮現類似dialog的提示框 ,類似下面的東西,item中內容比較複雜,這時候用activty以dialog的形式展現出來比較好,當然用別的也行,比如popupwindow等,其實很簡單的東西 ,下面我說一說如何展現
1在清單文件manifest中註冊activity 我這裏以MainGuideActivity命名
<activity
android:name="com.donson.beiligong.view.MainGuideActivity"
android:screenOrientation="portrait"
android:theme="@style/transcutestyle" />
android:name="com.donson.beiligong.view.MainGuideActivity"
android:screenOrientation="portrait"
android:theme="@style/transcutestyle" />
android:theme="@style/transcutestyle" 這一句是重點,就是讓activity以dialog形式展開這裏我自己寫的style繼承的
android:style/Theme.Dialog;如下
<!-- 主頁引導頁顯示 -->
<style name="transcutestyle" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@android:color/transparent</item><!--邊框-->
<item name="android:windowIsFloating">true</item><!--是否浮現在activity之上-->
<item name="android:windowIsTranslucent">true</item><!--半透明-->
<item name="android:windowNoTitle">true</item><!--無標題-->
<item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item name="android:backgroundDimAmount">0.3</item>
<item name="android:windowAnimationStyle">@null</item>
</style>
<style name="transcutestyle" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@android:color/transparent</item><!--邊框-->
<item name="android:windowIsFloating">true</item><!--是否浮現在activity之上-->
<item name="android:windowIsTranslucent">true</item><!--半透明-->
<item name="android:windowNoTitle">true</item><!--無標題-->
<item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item name="android:backgroundDimAmount">0.3</item>
<item name="android:windowAnimationStyle">@null</item>
</style>
在資源文件style中加入以上
當然你也可以直接在清單文件中這麼寫
<activity
android:name="com.donson.beiligong.view.MainGuideActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Dialog" />
android:name="com.donson.beiligong.view.MainGuideActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Dialog" />
2 在mainactivity中顯示這個dialog形式的activity
直接在oncreate方法中開啓這個activity就可以
Intent intent = new Intent(MainActivity.this,MainGuideActivity.class);
startActivity(intent);
startActivity(intent);
3 接下來就可以在MainGuideActivity中寫自己的相關代碼,寫代碼的時候跟在通常的activity中寫代碼一樣,完全沒有影響
其實就是在清單文件中添加了一句話 android:theme="@android:style/Theme.Dialog",這很重要
,希望對大家有幫助o