Android dialog显示在界面固定位置

Android dialog显示在界面固定位置

dialog界面背景为全透明的情况 设置这个样式就可以让dialog的背景为全透明。

    <!-- 显示景区信息 -->
    <style name="dialog_map_content" parent="@android:style/Theme.Holo.Light.Dialog">
        <item name="android:windowFrame">@color/transparent</item><!-- 边框 -->
        <item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 -->
        <item name="android:windowIsTranslucent">false</item><!-- 半透明 -->
        <item name="android:windowNoTitle">true</item><!-- 无标题 -->
        <item name="android:windowBackground">@color/transparent</item><!-- 自己想要的背景 -->
        <item name="android:backgroundDimEnabled">false</item><!-- 模糊 -->
    </style>

因为我的dialog显示在界面中的类型列表之下10dp的样子。

		Window dialogWindow = getWindow();
		WindowManager.LayoutParams lp = dialogWindow.getAttributes();
		lp.gravity = Gravity.TOP; // 设置重力
		lp.y = DpUtil.dp2px(mContext,110);
		lp.width= WindowManager.LayoutParams.MATCH_PARENT;
		dialogWindow.setAttributes(lp);

所以根据我的布局计算出当前类型列表和之上有多少dp,将dp转化成px,设置给WindowManager.LayoutParams的y这样就相当于设置了margintop的样子。

然后显示就可以看到效果了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章