android 窗口式activity

来源:互联网 发布:mac怎么装千牛 编辑:程序博客网 时间:2024/06/07 15:49

要使用窗口式的activity,大概有以下几步:

显示窗口式activity

  1. 当然是新建一个activity,然后在AndroidManifest.xml中注册,将activity的android:theme属性设置为android:theme=”@style/Dialog”.
    这样就生成了一个窗口式的activity,但是这个activity的大小会随着布局文件的变化而变化。

固定窗口大小

WindowManager m = getWindowManager();Display d = m.getDefaultDisplay(); //为获取屏幕宽、高WindowManager.LayoutParams p =  getWindow().getAttributes();  //获取对话框当前的参数值p.height = (int) (d.getHeight() * 0.5);   //高度设置为屏幕的0.5p.width = (int) (d.getWidth() * 0.8);    //宽度设置为屏幕的0.8p.alpha = 1.0f;      //设置本身透明度p.dimAmount = 0.5f;      //设置黑暗度getWindow().setAttributes(p);

这样设置后,窗口的大小就固定了。

自定义窗口样式

在drawable中建立一个xml文件dialog_activity_style.xml

<corners android:radius="2dp"/>    <solid android:color="#dddddd"/>//设置边角弧度    <stroke         android:color="@color/red_dark"//设置边框颜色        android:width="2dp"/>//设置边框宽度

再在styles.xml文件中添加

 <!--定义自己的style,继承Dialog--> <style name="dialogActivity" parent="Dialog">      <!--添加自己定义的样式-->      <item name="android:windowBackground">@drawable/dialog_activity_style</item>        <!--设置动画,在这里使用让它继承系统的Animation.Dialog-->        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>    </style>

然后记得在AndroidManifest.xml中修改android:theme属性
android:theme=”@style/dialogActivity”.