项目: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")

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

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

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

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使得输入框中最大输入行数。

以上相关知识点如果还有什么疏漏大家可以直接联系小编,感谢你的阅读和对萬仟网的支持。

android 方向控制界面,Android Studio屏幕方向以及UI界面状态的保存代码详解相关推荐

  1. Android入门笔记之更改手机屏幕方向

    Android入门笔记之更改手机屏幕方向 <1>简介 通过一个按钮组来改变横屏竖屏显示. <2>关键步骤 主要通过android.app.activity.getRequest ...

  2. android 11源码开机更改屏幕方向触摸方向

    目录 1.修改屏幕方向 2.配置触摸方向 3.修改触摸相关配置源码 修改屏幕方向以后需要将系统的触摸方向一并配置,否则可能造成坐标错乱情况,修改完毕后重新编译源码烧录后验证结果 1.修改屏幕方向 这里 ...

  3. Android实战:CoolWeather酷欧天气(加强版数据接口)代码详解(上)

    -----------------------------------该文章代码已停更,可参考浩比天气(更新于2019/6/25)----------------------------------- ...

  4. android收藏功能demo,Android使用Realm数据库实现App中的收藏功能(代码详解)

    前 言 App数据持久化功能是每个App必不可少的功能,而Android最常用的数据持久化方式主要有以下的五种方式: 使用SharedPreferences存储数据: 文件存储数据: SQLite数据 ...

  5. android生命周期_Android开发 View的生命周期结合代码详解

    咱们以TextView控件为例: /** * Created by SunshineBoy on 2020/9/23. */ public class TestTextView extends and ...

  6. php怎么自定义设置打印区域,JavaScript_jQuery实现区域打印功能代码详解,使用CSS控制打印样式,需要设 - phpStudy...

    jQuery实现区域打印功能代码详解 使用CSS控制打印样式,需要设置样式media="print",并且将页面中不需要打印的元素的样式display属性设置为none.如DEMO ...

  7. 仿win10系统UI界面纯html网页网站后台UI界面

    仿win10系统UI界面纯html网页网站后台UI界面 一款经典仿win10系统UI界面纯html网页网站后台UI界面,效果超炫 演示地址:http://www.phprr.com/show-312

  8. android+相机画面旋转,Android:相机预览的屏幕方向/旋转

    我已经创建了一个相机应用程序,我想让我的应用程序在所有4个可能的方向转换,并相应地更新相机预览.因为我已经使用我从以下复制的以下方法: Android – Camera preview is side ...

  9. android 摇杆控制方向键,Android Studio中实现摇杆

    今天和大家分享一下Android Studio实现摇杆,原理很简单,代码中有对应的注释. 实现效果图 实现代码 package com.example.fragmentcar1.view; impor ...

最新文章

  1. [转]机器视觉开源代码集合
  2. CSS将样式规则与HTML元素相关联
  3. 棱镜调查:提高渠道兼容性从游戏设计开始
  4. php ci post 请求,ci检测是ajax还是页面post提交数据的方法
  5. java中无法推断类型参数_Java中的推断异常
  6. artdialog5 bug
  7. 辽宁计算机专业院校排名2015,liaoning高校排行榜_辽宁高校排名 2015年辽宁省最佳大学排行榜...
  8. 激活函数详解/为什么要用激活函数
  9. Hive入门学习随笔(一)
  10. Java之父评价C语言之父,Java之父评价C语言之父:C语言撑起了一切
  11. 游戏修改服务器数据,修改游戏服务器数据的教程
  12. 初中计算机考试ppt操作视频,初中信息技术PPT操作题课件.ppt
  13. 基于DSP的交通灯设计
  14. oracle 查看owner,ORACLE数据库利用数据字典查询表的OWNER
  15. c/c++ 头文件(.h)、源文件(.cpp)书写及接口与实现分离实例
  16. AutoML 是否被过度炒作?
  17. 10.3 配置前缀列表
  18. html5妇女节游戏,html5开发三八女王节表白神器
  19. 液压减振器 matlab,汽车减振器的结构分析与性能仿真研究
  20. 使用selenium 刷票

热门文章

  1. Java多线程--synchronized修饰普通方法和修饰静态方法的区别
  2. 【SSM】基于注解@Controller的控制器
  3. 【学亮IT手记】HashMap集合精讲
  4. springboot+mybatis多数据源最简解决方案
  5. 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查
  6. gradle全局使用阿里云镜像
  7. 画图怎么调整速度_初学者画图不流畅,线条毛躁生硬,而且手总抖怎么破?
  8. 数据结构与算法 / 排序算法(3)
  9. 批处理命令 / 延迟环境变量扩展
  10. C typedef功能介绍(内附函数指针和指针函数的区别)