在将手机旋转到横向位置后,可以通过以下步骤保存onSaveInstanceState()中的文本视图颜色:
下面是一个示例代码:
public class MainActivity extends AppCompatActivity {
private TextView textView;
private static final String KEY_TEXT_COLOR = "text_color";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text_view);
if (savedInstanceState != null) {
int textColor = savedInstanceState.getInt(KEY_TEXT_COLOR);
textView.setTextColor(textColor);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
int textColor = textView.getCurrentTextColor();
outState.putInt(KEY_TEXT_COLOR, textColor);
}
}
在这个示例中,我们通过KEY_TEXT_COLOR常量定义了保存颜色值的键。在onSaveInstanceState()方法中,我们获取了当前文本视图的颜色值,并将其保存到Bundle对象中。在onCreate()方法中,我们检查savedInstanceState是否为null,如果不为null,则从Bundle中获取之前保存的颜色值,并将其应用到文本视图上。
这样,在屏幕旋转后,文本视图的颜色将得到正确的恢复。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云