抱歉昨天还漏了个类
package app.example.draglinearlayout;import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.graphics.Rect;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;public class BaseActivity extends Activity {
public static int ScreenW = -1;
public static int ScreenH = -1;
public static boolean isFullSreen = false;
public static int statusBarHeight;// 状态栏
public static int titleBarHeight;// 标题栏 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 竖屏
// setFullSreen(this)必须写在setContentView(R.layout.activity_base)前
if (isFullSreen) {// 是否去掉标题栏及信息栏
setFullSreen(this);
}
if (ScreenW == -1) {// 优化
// 获得屏幕宽高
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
ScreenW = metrics.widthPixels;
ScreenH = metrics.heightPixels; }
new Thread(new Runnable() {//开启线程获取标题栏、状态栏高度

@Override
public void run() {
try {
Thread.sleep(500);
setHeight();
Log.d("statusBarHeight=", statusBarHeight+"");
Log.d("titleBarHeight=", titleBarHeight+"");
} catch (InterruptedException e) {
e.printStackTrace();
}

}
}).start();
} public void setFullSreen(Activity act) {
act.requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏
act.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉信息栏
} private void setHeight() {
// 获取标题栏、状态栏高度
Rect rect = new Rect();
Window win = this.getWindow();
win.getDecorView().getWindowVisibleDisplayFrame(rect);
statusBarHeight = rect.top;
int contentViewTop = win.findViewById(Window.ID_ANDROID_CONTENT)
.getTop();
titleBarHeight = contentViewTop - statusBarHeight;
} public static void setThreadTimeOut(final Handler hand, final int time) {
new Thread(new Runnable() {// 网连接超时后,执行Handler @Override
public void run() {
try {
Thread.sleep(1000 * time);
} catch (InterruptedException e) {
e.printStackTrace();
}
hand.sendEmptyMessage(1);
}
}).start();
}}