蓝牙连接后,每次都走绑定

This commit is contained in:
jia 2024-09-21 20:01:07 +08:00
parent 07ae06fa30
commit 695487920f
10 changed files with 317 additions and 113 deletions

View File

@ -26,5 +26,5 @@ android.enableJetifier=true
android.useAndroidX=true android.useAndroidX=true
android.useDeprecatedNdk=true android.useDeprecatedNdk=true
versionCode=50 versionCode=51
versionName=4.11.10 versionName=4.11.11

View File

@ -120,7 +120,7 @@ public class MainTabActivity extends BaseFragmentActivity {
onParseIntent(); onParseIntent();
initView(); initView();
init(); init();
StartWifiChangeTimer(); // StartWifiChangeTimer();
//** //**
//* 注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值也需要在App代码中调 //* 注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值也需要在App代码中调
@ -262,14 +262,20 @@ public class MainTabActivity extends BaseFragmentActivity {
finish(); finish();
} }
User user;
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
StartWifiChangeTimer(); user = Commons.USER;
if (user!=null){
StartWifiChangeTimer(user.getUserId());
}
} }
private void StartWifiChangeTimer() { private void StartWifiChangeTimer(String userId) {
if (timer == null) {
L.i("jjia--------wifi--切换了---");
if (timer == null && !TextUtils.isEmpty(userId)) {
timer = new CountDownTimer(1000, 1000) { timer = new CountDownTimer(1000, 1000) {
@Override @Override
public void onTick(long millisUntilFinished) { public void onTick(long millisUntilFinished) {
@ -300,7 +306,8 @@ public class MainTabActivity extends BaseFragmentActivity {
public void finish() { public void finish() {
} }
}, Commons.USER.getUserId()); }, userId);
// }, Commons.USER.getUserId());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -68,11 +68,13 @@ import com.ifish.tcp.OrderDeviceConnectModel;
import com.ifish.tcp.OrderModel; import com.ifish.tcp.OrderModel;
import com.ifish.tcp.QueryTempeSettingModel; import com.ifish.tcp.QueryTempeSettingModel;
import com.ifish.tcp.ResetDeviceModel; import com.ifish.tcp.ResetDeviceModel;
import com.ifish.utils.ActivityManager;
import com.ifish.utils.AnimationUtil; import com.ifish.utils.AnimationUtil;
import com.ifish.utils.BlueToothUtil; import com.ifish.utils.BlueToothUtil;
import com.ifish.utils.ByteUtil; import com.ifish.utils.ByteUtil;
import com.ifish.utils.ClickUtil; import com.ifish.utils.ClickUtil;
import com.ifish.utils.Commons; import com.ifish.utils.Commons;
import com.ifish.utils.DialogUtil;
import com.ifish.utils.HttpListener; import com.ifish.utils.HttpListener;
import com.ifish.utils.HttpManager; import com.ifish.utils.HttpManager;
import com.ifish.utils.L; import com.ifish.utils.L;
@ -130,6 +132,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
setContentView(R.layout.activity_new_bind_device_choice); setContentView(R.layout.activity_new_bind_device_choice);
ActivityManager.getInstance().addActivity(this);
sp=SPUtil.getInstance(this); sp=SPUtil.getInstance(this);
act = this; act = this;
@ -293,7 +296,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
* 根据连接类型切换UI * 根据连接类型切换UI
* todo 这里的提示应该根据连接类型有不同的提示 * todo 这里的提示应该根据连接类型有不同的提示
* *
* @param connectType * @param
*/ */
private void changeView(boolean blue){ private void changeView(boolean blue){
@ -430,7 +433,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
if (TextUtils.isEmpty(type)){ if (TextUtils.isEmpty(type)){
blueScan(); blueScan();
}else { }else {
showProgressDialogCancelble("开始连接蓝牙设备"); DialogUtil.Companion.showLoadingDialog(true,"开始连接蓝牙设备");
// showProgressDialogCancelble("开始连接蓝牙设备");
connectBle(); connectBle();
} }
}else { }else {
@ -478,14 +482,16 @@ public class NewBindDeviceActivity extends AppCompatActivity {
connectBle(); connectBle();
}else { }else {
ToastUtil.show(NewBindDeviceActivity.this,"扫描结束,没有搜索到可用设备"); ToastUtil.show(NewBindDeviceActivity.this,"扫描结束,没有搜索到可用设备");
dismissProgressDialogCancelble(); // dismissProgressDialogCancelble();
DialogUtil.Companion.setLoadingDialogDismiss();
} }
} }
@Override @Override
public void onScanStarted(boolean success) { public void onScanStarted(boolean success) {
// ToastUtil.show(NewBindDeviceActivity.this,"开始扫描"); // ToastUtil.show(NewBindDeviceActivity.this,"开始扫描");
showProgressDialogCancelble("正在搜索附近设备,请确保设备处于配网状态"); DialogUtil.Companion.showLoadingDialog(true,"正在搜索附近设备,请确保设备处于配网状态");
// showProgressDialogCancelble("正在搜索附近设备,请确保设备处于配网状态");
} }
@SuppressLint("MissingPermission") @SuppressLint("MissingPermission")
@ -593,7 +599,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
@Override @Override
public void onNotifyFailure(BleException exception) { public void onNotifyFailure(BleException exception) {
dismissProgressDialogCancelble(); // dismissProgressDialogCancelble();
DialogUtil.Companion.setLoadingDialogDismiss();
} }
@Override @Override
@ -613,25 +620,20 @@ public class NewBindDeviceActivity extends AppCompatActivity {
String status = ByteUtil.toHex(model.getStatus()); String status = ByteUtil.toHex(model.getStatus());
device_mac = ByteUtil.bytesToHexString(model.getSrc()); device_mac = ByteUtil.bytesToHexString(model.getSrc());
DialogUtil.Companion.setLoadingDialogDismiss();
checkoutMac(device_mac); if (!TextUtils.isEmpty(device_mac)){
switch (nofity_type){ // dismissProgressDialogCancelble();
case 1: DialogUtil.Companion.setLoadingDialogDismiss();
break; // showProgressDialogCancelble("正在绑定设备,请稍等...");
DialogUtil.Companion.showLoadingDialog(true,"正在绑定设备...");
case 2: connectDevice.cancel();
connectDevice.start();
break;
default:
L.i(status+"jjia-------"+device_mac);
break;
} }
// checkoutMac(device_mac);
} else { } else {
dismissProgressDialogCancelble(); DialogUtil.Companion.setLoadingDialogDismiss();
// dismissProgressDialogCancelble();
// BackFunctionCode7_11 model = (BackFunctionCode7_11) object; // BackFunctionCode7_11 model = (BackFunctionCode7_11) object;
// String status = ByteUtil.toHex(model.getStatus()); // String status = ByteUtil.toHex(model.getStatus());
// if ("01".equals(status)) { // if ("01".equals(status)) {
@ -646,54 +648,54 @@ public class NewBindDeviceActivity extends AppCompatActivity {
}); });
} }
private void checkoutMac(String mac){ // private void checkoutMac(String mac){
//
if (!TextUtils.isEmpty(mac)){ // if (!TextUtils.isEmpty(mac)){
boolean isSameName = false; // boolean isSameName = false;
devicePosition = 0; // devicePosition = 0;
try { // try {
if (Commons.DEVICE != null) { // if (Commons.DEVICE != null) {
if (Commons.DEVICE.size() != 0) { // if (Commons.DEVICE.size() != 0) {
for (int i = 0; i < Commons.DEVICE.size(); i++) { // for (int i = 0; i < Commons.DEVICE.size(); i++) {
if (mac.equals(Commons.DEVICE.get(i).getMacAddress())) { // if (mac.equals(Commons.DEVICE.get(i).getMacAddress())) {
devicePosition = i; // devicePosition = i;
isSameName = true; // isSameName = true;
break; // break;
} // }
} // }
} // }
} // }
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
//
if (isSameName){ // if (isSameName){
L.i("jjia-------------不包含"); // L.i("jjia-------------不包含");
runOnUiThread(new Runnable() { // runOnUiThread(new Runnable() {
@Override // @Override
public void run() { // public void run() {
resetDevice(1); // resetDevice(1);
} // }
}); // });
}else { // }else {
L.i("jjia-------------不包含"); // L.i("jjia-------------不包含");
runOnUiThread(new Runnable() { // runOnUiThread(new Runnable() {
@Override // @Override
public void run() { // public void run() {
isContinue = true; // isContinue = true;
resetDevice(2); // resetDevice(2);
} // }
}); // });
} // }
}else { // }else {
dismissProgressDialogCancelble(); // dismissProgressDialogCancelble();
} // }
//
//
//
//
} // }
int devicePosition = 0; int devicePosition = 0;
private void sendBleData(){ private void sendBleData(){
@ -735,8 +737,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
}); });
} }
private void resetDevice(int type){ private void resetDevice(int type){
DialogUtil.Companion.setLoadingDialogDismiss();
dismissProgressDialogCancelble();
if (1==type){ if (1==type){
toDevice(); toDevice();
}else if (2==type){ }else if (2==type){
@ -776,24 +777,24 @@ public class NewBindDeviceActivity extends AppCompatActivity {
BleManager.getInstance().connect(currentDevice, new BleGattCallback() { BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
@Override @Override
public void onStartConnect() { public void onStartConnect() {
setMessage("开始连接蓝牙设备"); DialogUtil.Companion.showLoadingDialog(true,"开始连接蓝牙设备");
} }
@Override @Override
public void onConnectFail(BleDevice bleDevice, BleException exception) { public void onConnectFail(BleDevice bleDevice, BleException exception) {
ToastUtil.show(NewBindDeviceActivity.this,"连接蓝牙设备失败,请重试"); ToastUtil.show(NewBindDeviceActivity.this,"连接蓝牙设备失败,请重试");
dismissProgressDialogCancelble(); DialogUtil.Companion.setLoadingDialogDismiss();
} }
@Override @Override
public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) { public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功"); // ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
setMessage("蓝牙连接成功"); // setMessage("蓝牙连接成功");
BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() { BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
@Override @Override
public void onSetMTUFailure(BleException exception) { public void onSetMTUFailure(BleException exception) {
L.i("jjia-------MTU--"+exception.toString()); L.i("jjia-------MTU--"+exception.toString());
dismissProgressDialogCancelble(); DialogUtil.Companion.setLoadingDialogDismiss();
} }
@Override @Override
@ -901,7 +902,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
@Override @Override
public void onTick(long millisUntilFinished) { public void onTick(long millisUntilFinished) {
long sum = millisUntilFinished / 1000 % 2; long sum = millisUntilFinished / 1000;
if (sum == 0) { if (sum == 0) {
if (!act.isFinishing() && isContinue) { if (!act.isFinishing() && isContinue) {
isNetWorkAvailable("www.baidu.com", new Comparable<Boolean>() { isNetWorkAvailable("www.baidu.com", new Comparable<Boolean>() {
@ -927,6 +928,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
public void onFinish() { public void onFinish() {
if (isContinue) { if (isContinue) {
// dismissProgressDialog(); // dismissProgressDialog();
// dismissProgressDialogCancelble();
DialogUtil.Companion.setLoadingDialogDismiss();
} }
} }
} }
@ -1038,16 +1041,19 @@ public class NewBindDeviceActivity extends AppCompatActivity {
@Override @Override
public void finish() { public void finish() {
DialogUtil.Companion.setLoadingDialogDismiss();
deviceIsNullHandler.sendEmptyMessage(result); deviceIsNullHandler.sendEmptyMessage(result);
} }
@Override @Override
public void error(Exception e, String msg) { public void error(Exception e, String msg) {
DialogUtil.Companion.setLoadingDialogDismiss();
result = Commons.NetWork.ERROR; result = Commons.NetWork.ERROR;
} }
}, deviceObj.getDeviceId(), Commons.USER.getUserId()); }, deviceObj.getDeviceId(), Commons.USER.getUserId());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
DialogUtil.Companion.setLoadingDialogDismiss();
} }
} }
}; };
@ -1070,12 +1076,28 @@ public class NewBindDeviceActivity extends AppCompatActivity {
if (deviceIsNull) {//当服务器返回的设备控制器数和定时器数为null的时候 不跳转进入主界面 if (deviceIsNull) {//当服务器返回的设备控制器数和定时器数为null的时候 不跳转进入主界面
return; return;
} }
Commons.DEVICE.add(deviceObj);
try { List<Device> allDevices = Commons.DEVICE;
sp.putInt(Commons.LoginSPKey.Position, Commons.DEVICE.size() - 1); Boolean isHasDev = false;
Commons.DevicePosition = Commons.DEVICE.size() - 1; if (deviceObj!=null && deviceObj.getMacAddress()!=null && allDevices!=null && allDevices.size()>0){
} catch (Exception e) { for (int i = 0;i<allDevices.size();i++){
Device item = allDevices.get(i);
if (item!=null && deviceObj.getMacAddress().equals(item.getMacAddress())){
Commons.DevicePosition = i;
isHasDev = true;
break;
}
}
} }
if (!isHasDev){
Commons.DEVICE.add(deviceObj);
try {
sp.putInt(Commons.LoginSPKey.Position, Commons.DEVICE.size() - 1);
Commons.DevicePosition = Commons.DEVICE.size() - 1;
} catch (Exception e) {
}
}
ToastUtil.show(NewBindDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size()); ToastUtil.show(NewBindDeviceActivity.this, "设备序号" + Commons.DevicePosition + "---" + Commons.DEVICE.size());
Commons.IS_EventBus = true; Commons.IS_EventBus = true;
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量 Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
@ -1156,6 +1178,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
} catch (Exception e) { } catch (Exception e) {
i.setClass(NewBindDeviceActivity.this, MainThreeControlActivity.class); i.setClass(NewBindDeviceActivity.this, MainThreeControlActivity.class);
} }
DialogUtil.Companion.setLoadingDialogDismiss();
i.putExtra(BaseGradeActivity.BINDDEVICE, true);//绑定成功增加经验 i.putExtra(BaseGradeActivity.BINDDEVICE, true);//绑定成功增加经验
ToastUtil.show(NewBindDeviceActivity.this, "绑定设备成功"); ToastUtil.show(NewBindDeviceActivity.this, "绑定设备成功");
startActivity(i); startActivity(i);
@ -1343,25 +1366,25 @@ public class NewBindDeviceActivity extends AppCompatActivity {
* @date 2015-9-4 上午9:24:21 * @date 2015-9-4 上午9:24:21
*/ */
private ProgressDialog myProgressDialogCancelble; // private ProgressDialog myProgressDialogCancelble;
protected void showProgressDialogCancelble(String msg) { // protected void showProgressDialogCancelble(String msg) {
if (myProgressDialogCancelble == null) { // if (myProgressDialogCancelble == null) {
myProgressDialogCancelble = new ProgressDialog(this, ProgressDialog.THEME_HOLO_LIGHT); // myProgressDialogCancelble = new ProgressDialog(this, ProgressDialog.THEME_HOLO_LIGHT);
myProgressDialogCancelble.setProgressStyle(ProgressDialog.STYLE_SPINNER); // myProgressDialogCancelble.setProgressStyle(ProgressDialog.STYLE_SPINNER);
myProgressDialogCancelble.setMessage(msg); // myProgressDialogCancelble.setMessage(msg);
myProgressDialogCancelble.setIndeterminate(true); // myProgressDialogCancelble.setIndeterminate(true);
myProgressDialogCancelble.setCancelable(false);//返回键可以取消 // myProgressDialogCancelble.setCancelable(false);//返回键可以取消
} // }
myProgressDialogCancelble.show(); // myProgressDialogCancelble.show();
} // }
protected void setMessage(String msg) { // protected void setMessage(String msg) {
if (myProgressDialogCancelble != null) { // if (myProgressDialogCancelble != null) {
myProgressDialogCancelble.setMessage(msg); // myProgressDialogCancelble.setMessage(msg);
}else { // }else {
showProgressDialogCancelble(msg); // showProgressDialogCancelble(msg);
} // }
} // }
/** /**
* @param * @param
@ -1369,12 +1392,12 @@ public class NewBindDeviceActivity extends AppCompatActivity {
* @author Jacky dada * @author Jacky dada
* @date 2015-9-4 上午9:24:04 * @date 2015-9-4 上午9:24:04
*/ */
protected void dismissProgressDialogCancelble() { // protected void dismissProgressDialogCancelble() {
if (myProgressDialogCancelble != null) { // if (myProgressDialogCancelble != null) {
myProgressDialogCancelble.dismiss(); // myProgressDialogCancelble.dismiss();
myProgressDialogCancelble = null; // myProgressDialogCancelble = null;
} // }
} // }
List<BleDevice> deviceList; List<BleDevice> deviceList;

View File

@ -0,0 +1,43 @@
package com.ifish.utils
/**
* Created by achang on 2018/10/6.
*/
class DialogUtil {
companion object {
var mLoadingDialog: LoadingDialog? = null
var showDialog:Boolean=false
var hint:String?="正在加载中,请稍等片刻..."
fun showLoadingDialog(showDialog:Boolean,hint:String?="正在加载中,请稍等片刻..."): LoadingDialog {
this.showDialog= showDialog
if (mLoadingDialog == null&& ActivityManager.getInstance().lastActivity()!=null) {
mLoadingDialog = LoadingDialog(ActivityManager.getInstance().lastActivity()!!,hint)
if (!mLoadingDialog!!.isShowing && ActivityManager.getInstance().lastActivity() != null && !ActivityManager.getInstance().lastActivity()!!.isFinishing) {
mLoadingDialog!!.show()
}
} else {
if (!mLoadingDialog!!.isShowing && ActivityManager.getInstance().lastActivity() != null && !ActivityManager.getInstance().lastActivity()!!.isFinishing) {
mLoadingDialog!!.show()
}
}
/* mLoadingDialog?.apply {
LogUtil.logD(isShowing.toString()+"======="+ AppManagerUtil.lastActivity.toString()+"==="+(mLoadingDialog==null))
}*/
return mLoadingDialog!!
}
fun setLoadingDialogDismiss() {
mLoadingDialog?.apply {
if (this.isShowing ) {
ActivityManager.getInstance().lastActivity()?.apply {
if (!this.isFinishing)
mLoadingDialog!!.dismiss()
mLoadingDialog = null
}
}
}
// LogUtil.logD("setLoadingDialogDismiss===========")
}
}
}

View File

@ -0,0 +1,37 @@
package com.ifish.utils
import android.app.Activity
import android.app.Dialog
import android.text.TextUtils
import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
import com.ifish.activity.R
import com.ifish.utils.Commons.Text
/**
* @创建者 肖天长
* @创建时间 2018/7/6 0006 11:59
* @描述 ${TODO}
* @更新者 $Author$
* @更新时间 2018/7/6 0006$
* @更新描述 ${TODO}
*/
class LoadingDialog(context: Activity,hint:String?) : Dialog(context, R.style.BaseDialogStyle) {
init {
val inflate = View.inflate(context, R.layout.dialog_loading, null)
val mParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)
setContentView(inflate, mParams)
var view =findViewById<TextView>(R.id.tv_hint)
view.text = hint
if (TextUtils.isEmpty(hint)){
}
window!!.setDimAmount(0f) //去除阴影遮罩效果
setCanceledOnTouchOutside(false)
// setCancelable(false)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/dialog_loading"
android:pivotX="50%"
android:pivotY="50%" />
<!-- 下面是转圈的
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/dialog_loading_img2"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" />
-->

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="12dp"/>
<solid android:color="#AA000000" />
</shape>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="150dp"
android:layout_gravity="center">
<LinearLayout
android:background="@drawable/shape_white_radius15"
android:gravity="center"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:minWidth="150dp"
android:layout_marginStart="50dp"
android:layout_marginEnd="50dp"
android:orientation="vertical"
android:layout_height="150dp">
<ProgressBar
android:id="@+id/dg_pb_loading"
android:layout_width="38dp"
android:layout_height="38dp"
android:indeterminateBehavior="repeat"
android:indeterminateDrawable="@drawable/shape_loading_anim"
android:indeterminateOnly="true" />
<TextView
android:id="@+id/tv_hint"
android:layout_marginTop="10dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:layout_width="wrap_content"
android:gravity="center"
android:text="正在加载中..."
android:textSize="16sp"
android:textColor="@color/white"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>

View File

@ -268,5 +268,37 @@
<item name="android:windowEnterAnimation">@anim/bottom_dialog_in</item> <item name="android:windowEnterAnimation">@anim/bottom_dialog_in</item>
<item name="android:windowExitAnimation">@anim/bottom_dialog_out</item> <item name="android:windowExitAnimation">@anim/bottom_dialog_out</item>
</style> </style>
<style name="BaseDialogStyle" parent="Theme.AppCompat.DayNight.Dialog.Alert"><!-- @android:style/Theme.Dialog -->
<!-- 无边框 -->
<item name="android:windowFrame">@null</item>
<!-- 浮在 Activity 之上 -->
<item name="android:windowIsFloating">true</item>
<!-- 半透明 -->
<item name="android:windowIsTranslucent">true</item>
<!-- 背景透明 -->
<item name="android:windowBackground">@android:color/transparent</item>
<!-- 遮盖层 -->
<item name="android:backgroundDimEnabled">true</item>
<!-- 无标题 -->
<item name="android:windowNoTitle">true</item>
<!-- Base.Theme.AppCompat.Light.Dialog.Alert 特有的属性,用于指定默认宽度,这里需要禁用 -->
<item name="android:windowMinWidthMajor">0dp</item>
<item name="android:windowMinWidthMinor">0dp</item>
<!-- 解决 ActionBar 占位导致 Dialog 无法全屏显示的问题 -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<!-- ActionMode 覆盖 Actionbar不顶下来 -->
<item name="windowActionModeOverlay">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item>
<item name="android:background">@null</item>
<!-- 动画效果 -->
<!--<item name="android:windowEnterAnimation">@anim/ios_in_window</item>
<item name="android:windowExitAnimation">@anim/ios_out_window</item>-->
<!-- 不感知敏感的切换 -->
<!--<item name="android:configChanges">orientation|screenSize|keyboardHidden</item>-->
<!-- 默认隐藏输入法 -->
<!--<item name="android:windowSoftInputMode">stateHidden</item>-->
<!-- Dialog 全屏显示 -->
</style>
</resources> </resources>