這是在AndroidManifest中設置的,效果是監聽各類致使Activity重繪的參數的變化。例如,當設置了android:configChanges="orientation|screenSize"
的時候,當橫屏豎屏切換的時候,若是沒有設置這個屬性,Activity會重繪,若設置了,Activity不會重繪,而是會調用onConfigurationChanged
方法。java
<activity
android:name=".Activity.LoadingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"
android:theme="@style/FullscreenTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
複製代碼
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
複製代碼
指定Activity的屏幕方向android
<activity
android:name=".Activity.LoadingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"
android:theme="@style/FullscreenTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
複製代碼
指定Activity的Style,或者是其餘的,dialog也能夠。bash
<activity
android:name=".Activity.LoadingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"
android:theme="@style/FullscreenTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
複製代碼
<style name="DialogTransparent" parent="@android:style/Theme.Dialog">
<item name="windowBackground"> 窗體的背景 </item>
<item name="windowFrame">Dialog 是否有邊框 </item>
<item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>
<item name="windowNoTitle">窗體是否有標題</item>
<item name="windowFullscreen">false</item> #是否爲全屏
<item name="windowShowWallpaper">false</item> #是否顯示壁紙
<item name="windowTitleSize">25dip</item> # 窗體文字大小
<item name="windowCloseOnTouchOutside">false</item> #是否再點擊外部可關閉
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
複製代碼
屬性說明:app
1.在 MainActivity 中調用:ide
startActivityForResult(new Intent(MainActivity.this,CaptureActivity.class),0x01);
複製代碼
2.在 MainActivity 中重寫 onActivityResult 方法動畫
其中,resultCode 是以前約定的結果代號,data 爲第二個頁面傳回來的數據。ui
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode==0x01) {
Log.e("---","jkfjlds");
}
super.onActivityResult(requestCode, resultCode, data);
}
複製代碼
3.在第二個頁面,使用:this
//這裏的 intent 是返回的 Intent
//這裏的 setResult 是設置返回結果的 Intent,其還帶有,約定的結果代號。
Intent intent = new Intent();
intent.putExtra("result",result_p);
setResult(0x01,intent);
finish();
複製代碼