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的樣子。

然後顯示就可以看到效果了。

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