以下是一个简单的示例,演示如何在活动中响应系统配置的变化:
import android.content.res.Configuration;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化界面等操作
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// 在配置变化时被调用
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// 处理横屏模式
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
// 处理竖屏模式
}
// 处理其他配置变化,例如语言变化等
}
}
在这个示例中,onConfigurationChanged 方法会在系统配置发生变化时被调用。你可以在这个方法中处理不同的配置变化,例如屏幕方向的变化。需要注意的是,为了使 onConfigurationChanged 方法生效,你需要在 AndroidManifest.xml 文件中为活动添加相应的配置:
<activity
android:name=".MainActivity"
android:configChanges="orientation|screenSize|layoutDirection"
...>
...
</activity>
通过在 android:configChanges 属性中指定你想要处理的配置变化类型,可以防止系统销毁并重新创建活动。在 onConfigurationChanged 方法中,你可以根据新的配置信息执行相应的操作。
转载请注明出处:http://www.zyzy.cn/article/detail/15166/Android