国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android dialog邊框去除白色邊框實現思路及代碼

2020-04-11 12:34:56
字體:
來源:轉載
供稿:網友
使用樣式文件,在values 目錄下新建styles.xml文件,編寫如下代碼:
復制代碼 代碼如下:

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><resources>
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/black</item>
<item name="android:windowBackground">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>

調用時,使用AlerDialog的接口類,Dialog 接口編寫如下代碼: 
復制代碼 代碼如下:

Dialog dialog = new Dialog(SetActivity.this, R.style.dialog);
dialog.setContentView(R.layout.test);
dialog.show();

下面我們查看一下Dialog的源碼文件,里面的構造函數為如下
復制代碼 代碼如下:

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public Dialog(Context context, int theme) {
mContext = new ContextThemeWrapper(
context, theme == 0 ? com.android.internal.R.style.Theme_Dialog : theme);
mWindowManager = (WindowManager)context.getSystemService("window");
Window w = PolicyManager.makeNewWindow(mContext);
mWindow = w;
w.setCallback(this);
w.setWindowManager(mWindowManager, null, null);
w.setGravity(Gravity.CENTER);
mUiThread = Thread.currentThread();
mDismissCancelHandler = new DismissCancelHandler(this);
}

這里面我們可以看出,Android 使用了默認的構造函數為Dialog 設置樣式,如果沒有為其設置樣式,即默認加載事先編寫好的樣式文件,Dialog 一共由多個9.png的圖片構成,大部分都是帶有邊框的9.png圖片,所以就是為什么我們上邊的樣式文件要將其背景去除掉。這個東西搞了我好久,希望對你有幫助
前后效果對比

未設置前:

設置后:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿图什市| 普格县| 哈巴河县| 青川县| 德钦县| 武鸣县| 池州市| 集贤县| 民勤县| 兴业县| 辉南县| 铜梁县| 曲阳县| 新野县| 昌乐县| 图木舒克市| 泉州市| 繁昌县| 尖扎县| 南木林县| 天柱县| 博兴县| 嘉祥县| 九江市| 桂平市| 邢台市| 寻甸| 丰镇市| 旺苍县| 永福县| 交口县| 洛宁县| 东方市| 五原县| 达尔| 名山县| 广水市| 新野县| 正安县| 乌兰浩特市| 策勒县|