屏幕旋转
检测屏幕方向:
int orientation = getResources().getConfiguration().orientation;
boolean landscape = (orientation == Configuration.ORIENTATION_LANDSCAPE);
强制Activity横屏
AndroidManifest里给Activity标签添加属性:
android:screenOrientation="landscape"
切换时自动重建
创建layout时在Qualifier列表中添加Orientation属性。调用R.layout.xxx时会自动根据屏幕方向选择对应的layout。
Intent 可以用于启动 Activity 或者在 Activity 间传递数据。
显式启动 Activity
// new Intent(Context context, Class class)
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent);
意图明确的 Intent,明确指出在 this
的 context
上启动 TargetActivity
。
隐式启动 Activity
首先在 AndroidManifest.xml 中 Activity 的 <intent-filter>
中定义 <action>
和 <category>
。
<activity android:name=".TargetActivity">
<intent-filter>
<!-- 可以有多个action和category -->
<action android:name="com.example.test.ACTION_START"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="com.example.test.MY_CATEGORY"/>
</intent-filter>
</activity>