Android Studio屏幕方向以及UI界面状态的保存代码详解
时间:2022-07-27
本文章向大家介绍Android Studio屏幕方向以及UI界面状态的保存代码详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
项目:Orientation
package com.example.orientation;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
/*
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
本实例主要学习,屏幕翻转时,界面如何自适应,创建横屏布局
1.禁止切换横屏:在 AndroidManifest.xml-- application- activity- 中设置如下代码(android:screenOrientation="portrait")
<activity android:name=".MainActivity" android:screenOrientation="portrait"
2. 创建 Landscape 布局,横屏时,会自动加载 Landscape 的布局界面(清单文件中,注意去掉 android:screenOrientation="portrait" )
3. 翻转屏幕时,保存窗口控件的状态值;
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
*/
Button button;
TextView textView;
String TAG = "myTag";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button );
textView = findViewById(R.id.textView);
//如果State中的值不为空,如果有相应的这个组件的值,则读取出来赋值上去
if(savedInstanceState !=null)
{
String s = savedInstanceState.getString("key");
textView.setText(s);
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView.setText(button.getText());
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG,"onDestroy:");
}
@Override
//将 textView 中的值,先保存到 outState 中(键值对)
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("key",textView.getText().toString());
}
}
扩展学习:
UI界面设计
TextView
<TextView
android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="This is a TextView"
android:textColor="#00ff00"
android:textSize="24sp" /
要想使得文字居中,需要添加属性android:gravity=”center”,可选择的选项还有top、bottom、left、right、center等,center相当于center_vertical|center_horizontal。 使用android:textSize=”24sp”指定文字大小,android:textColor=”#00ff00″指定文字颜色。
Button
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:textAllCaps="false"/
在Android中,Button上面的文字默认英文全部大写,可以通过设置android:textAllCaps=”false”改变
EditText
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="HelloWorld"
android:maxLength="20"
android:maxLines="1" /
通过设置hint属性可以得到提示文字,设置maxLines使得输入框中最大输入行数。
以上相关知识点如果还有什么疏漏大家可以直接联系小编,感谢你的阅读和对ZaLou.Cn的支持。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 3500 字算法刷题精华总结
- web 云开发获取匿名登录返回的uid
- MySQL 最佳实践:慢查询分析三步曲
- 【NLP】利用jieba对网易云音乐的评论进行词云分析
- 【深度学习】一分钟速学 | NMS, IOU 与 SoftMax
- 【机器学习基础】数学推导+纯Python实现机器学习算法26:随机森林
- 【机器学习基础】Python数据预处理:彻底理解标准化和归一化
- Logback配置文件这么写,TPS提高10倍
- 重学数据结构之队列
- 太简单,springboo 使用自定义的 Tomcat
- 没想到,几行代码,你就可以实现图片压缩(springboot)!
- Go 语言学习之基础数据类型
- Go 语言学习之变量
- Go 泛型的括号选择:[ ] or ( )?
- 如何使用GitLab CI/CD 触发多项目管道