android activity以dialog形式展现,强大的原生!

今天做项目,突然要用到在一个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: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中加入以上

当然你也可以直接在清单文件中这么写
<activity
            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);


3 接下来就可以在MainGuideActivity中写自己的相关代码,写代码的时候跟在通常的activity中写代码一样,完全没有影响

     其实就是在清单文件中添加了一句话   android:theme="@android:style/Theme.Dialog" ,这很重要 ,希望对大家有帮助o


猜你喜欢

转载自blog.csdn.net/qq_35893839/article/details/56286426
今日推荐