編輯:關於Android編程
首先看不正常的圖,點擊tracing_dialog按鈕彈出對話框
然後看理論上的效果圖
觀察兩張圖發現,不正常的圖最上方被狀態欄遮擋住了,而該問題存在於android4.4版本中。為了修復該問題,我們增加一個函數在Dialog的子類中,對於android4.4及以上版本進行修復,而android4.4以下版本不進行處理。
我們先來看有問題的代碼
package cn.edu.zafu.demo;
import android.app.Dialog;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.view.WindowManager;
/**
* Created by lizhangqu on 2015/5/22.
*/
public class TracingDialog extends Dialog {
public TracingDialog(Context mContext, int style) {
super(mContext, style);
setCancelable(false);
}
protected void onCreate(Bundle paramBundle) {
setContentView(R.layout.tracing_dialog);
}
}
創建Dialog的方法如下,第一個參數是Context對象,第二個參數是主題文件對應的id
TracingDialog dialog=new TracingDialog(MainActivity.this, R.style.kdialog);
dialog.show();
style如下
現在我們在TracingDialog中增加一個函數,該函數對android4.4及以上版本進行適配使其顯示正常,增加的函數如下
private void applyCompat() {
if (Build.VERSION.SDK_INT < 19) {
return;
}
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
在TracingDialog的onCreate方法中調用以上函數即可,如下
protected void onCreate(Bundle paramBundle) {
applyCompat();
setContentView(R.layout.tracing_dialog);
}
姑且不考慮繼承Dialog這種創建Dialog的方法,沒辦法,歷史遺留問題。Dialog的創建方法官方已經建議使用DialogFragment進行創建了。就這樣,一個函數解決了問題!
一. 百度地圖城市定位和POI搜索知識 上一篇文章百度地圖開發(一)中講述了如何申請百度APIKey及解決顯示空白網格的問題.該篇文章主要講述如何定位城市位置、定位自己的
簡單的日歷實現,只是顯示了每一個月,沒有顯示當天和記事這些功能主要是計算月初是周幾,月末是周幾,然後相應的顯示上一月多少天和下一月多少天。先看一下關於日期的用到的幾個工具
手機qq厘米秀是手機qq最新版本全新推出的一個全新的功能,您可以下載qq厘米秀內測版獲得更多qq獨特的表情和個人形象,手機qq厘米秀是PC版QQ秀在移動端的
ExpandableListView簡介ExpandableListView是ListView的子類,用法和ListView類似,ExpandableListView可以