Android-本地化及多语言设置&固定屏幕与旋转屏幕

本地化及多语言设置

在手机的设置中设置语言就可以看到效果了


固定屏幕与旋转屏幕

固定屏幕

加了此条配置,屏幕就不会旋转了

  • 总以竖屏显示:android:screenOrientation=“portrait”
  • 总以横屏显示:android:screenOrientation=“landscape”

旋转屏幕

正如前面在声明周期里说到的,当屏幕旋转的时候,会destory一次,重新开始构建,也就是说原本我们的屏幕显示的一些非默认数值在旋转后就会恢复默认值,这显然是不行的,此时就要借助onSaveInstanceState函数(下面还会使用ViewModel来进行管理数据);

Button button2;
TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content_main);

    this.button2 = findViewById(R.id.button2);
    this.textView = findViewById(R.id.textView3);


    if(savedInstanceState!=null){
        //获取旋转前的数据进行显示
        String msg = savedInstanceState.getString("KEY");
        textView.setText(msg);
    }

    this.button2.setOnClickListener(v -> {
        this.textView.setText(R.string.button2);
    });

}

@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
    super.onSaveInstanceState(outState);
    //保存旋转前的数据
    outState.putString("KEY",textView.getText().toString());
}

不管如何旋转,TextView中的字符串不会改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值