瀏覽代碼

1.修改Android Apex Drivers 横竖屏切换时崩溃以及首页界面重叠。
2.修改Android Apex Drivers强制竖屏。

Pen Li 7 年之前
父節點
當前提交
82a468c986

+ 12 - 6
ApexDrivers/app/src/main/AndroidManifest.xml

@@ -23,18 +23,22 @@
         android:theme="@style/AppTheme">
         <activity
             android:name=".MainActivity"
-            android:launchMode="singleTop">
+            android:launchMode="singleTop"
+            android:screenOrientation="portrait">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
 
                 <category android:name="android.intent.category.LAUNCHER"/>
             </intent-filter>
         </activity>
-        <activity android:name=".Detail.DetailActivity">
+        <activity android:name=".Detail.DetailActivity"
+                  android:screenOrientation="portrait">
         </activity>
-        <activity android:name=".Update.UpdateActivity">
+        <activity android:name=".Update.UpdateActivity"
+                  android:screenOrientation="portrait">
         </activity>
-        <activity android:name=".camera.PreferencesActivity">
+        <activity android:name=".camera.PreferencesActivity"
+                  android:screenOrientation="portrait">
         </activity>
         <activity android:name=".CodeScanner.CaptureActivity"
                   android:clearTaskOnLaunch="true"
@@ -44,9 +48,11 @@
                   android:theme="@style/CaptureTheme"
                   android:windowSoftInputMode="stateAlwaysHidden">
         </activity>
-        <activity android:name=".Update.PhotoPreviewActivity">
+        <activity android:name=".Update.PhotoPreviewActivity"
+                  android:screenOrientation="portrait">
         </activity>
-        <activity android:name=".Login.RetrievePasswordActivity">
+        <activity android:name=".Login.RetrievePasswordActivity"
+                  android:screenOrientation="portrait">
         </activity>
 
     </application>

+ 7 - 0
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/Detail/DetailActivity.java

@@ -159,6 +159,13 @@ public class DetailActivity extends AppCompatActivity implements DetailAdapter.D
         return super.onOptionsItemSelected(item);
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        dismissProgressDialog();
+    }
+
     private void goHome() {
         Intent intent = new Intent(self, MainActivity.class);
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

+ 1 - 0
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/Home/HomeFragment.java

@@ -144,6 +144,7 @@ public class HomeFragment extends Fragment {
         super.onDestroy();
 
         mCtx.unregisterReceiver(mReceiver);
+        dismissProgressDialog();
     }
 
     private void registBroadcastReceiver() {

+ 13 - 4
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/MainActivity.java

@@ -1,7 +1,9 @@
 package com.usai.redant.apexdrivers;
 
+
 import android.app.ProgressDialog;
 import android.os.Bundle;
+import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentTransaction;
 import android.support.v7.app.AppCompatActivity;
@@ -17,6 +19,7 @@ import com.usai.redant.apexdrivers.Network.Network;
 public class MainActivity extends AppCompatActivity implements LoginFragment.LoginCallBack {
 
     private RelativeLayout mRootContainer;
+    private final static String FragmentTag = "ContentFragmentTag";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -33,16 +36,22 @@ public class MainActivity extends AppCompatActivity implements LoginFragment.Log
         FragmentManager manager = getSupportFragmentManager();
         FragmentTransaction transaction = manager.beginTransaction();
 
+        Fragment oldFragment = manager.findFragmentByTag(FragmentTag);
+
+        if (oldFragment != null) { // 屏幕旋转会导致Fragment重叠
+            return;
+        }
+
         if (ApexDriverApplication.sharedApplication().isLogin()) {
 
             HomeFragment homeFragment = new HomeFragment();
-            transaction.add(R.id.root_container, homeFragment);
+            transaction.add(R.id.root_container, homeFragment,FragmentTag);
 
         } else {
 
             LoginFragment loginFragment = new LoginFragment();
             loginFragment.setCallBack(this);
-            transaction.add(R.id.root_container, loginFragment);
+            transaction.add(R.id.root_container, loginFragment,FragmentTag);
         }
         transaction.commit();
 
@@ -57,7 +66,7 @@ public class MainActivity extends AppCompatActivity implements LoginFragment.Log
         FragmentManager manager = getSupportFragmentManager();
         FragmentTransaction transaction = manager.beginTransaction();
 
-        transaction.replace(R.id.root_container,homeFragment);
+        transaction.replace(R.id.root_container,homeFragment,FragmentTag);
 
         transaction.commit();
 
@@ -143,7 +152,7 @@ public class MainActivity extends AppCompatActivity implements LoginFragment.Log
 
         LoginFragment loginFragment = new LoginFragment();
         loginFragment.setCallBack(this);
-        transaction.replace(R.id.root_container, loginFragment);
+        transaction.replace(R.id.root_container, loginFragment,FragmentTag);
 
         transaction.commit();