比赛训练笔记 - Android

屏幕旋转

检测屏幕方向:

int orientation = getResources().getConfiguration().orientation;
boolean landscape = (orientation == Configuration.ORIENTATION_LANDSCAPE);

强制Activity横屏

AndroidManifest里给Activity标签添加属性:

android:screenOrientation="landscape"

切换时自动重建

创建layout时在Qualifier列表中添加Orientation属性。调用R.layout.xxx时会自动根据屏幕方向选择对应的layout。

【Android】Intent 启动 Activity

Intent 可以用于启动 Activity 或者在 Activity 间传递数据。

显式启动 Activity

// new Intent(Context context, Class class)
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent);

意图明确的 Intent,明确指出在 thiscontext 上启动 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>