Android开发入门(六)适应方向 6.1 屏幕方向的改变

现代手机设备的一个非常重要的特性就是可以旋转屏幕的方向。当然了,Android也不例外。Android支持 两种屏幕方向:portrait(竖屏)和landscape(横屏)。默认情况下,当改变手持设备的屏幕方向时,当前 的anctivity会自动地重绘它的内容。这是因为当屏幕方向发生变化的时候,onCreate()方法被触发了。

说明:当改变设备的屏幕方向,事实上,你的当前的activity会被销毁,然后重新创建。

然 后,当views被重绘的时候,它们可能会按照之前的屏幕方向被绘制(这取决于被选择的布局layout)。

<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    >
    <TableRow>
        <TextView
            android:text="User Name:"
            android:width ="120dp"
            />
        <EditText
            android:id="@+id/txtUserName"
            android:width="200dp" />
    </TableRow>
    <TableRow>
        <TextView
            android:text="Password:"
            />
        <EditText
            android:id="@+id/txtPassword"
            android:password="true"
            />
    </TableRow>
    <TableRow>
        <TextView />
        <CheckBox android:id="@+id/chkRememberPassword"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Remember Password"
            />
    </TableRow>
    <TableRow>
        <Button
            android:id="@+id/buttonSignIn"
            android:text="Log In" />
    </TableRow>
</TableLayout>

竖屏模式:

开发入门(六)适应方向 6.1 屏幕方向的改变-android 屏幕方向改变">

横屏模式:

请注意,在lanscape横屏模式下,屏幕的右侧多出来一些能被使用的空白控件。此外,当屏幕方向被设置 成landscape的时候,任何在屏幕下方的view都会被隐藏。

通常,在屏幕方向改变时,可以使用两种 方法去处理那些变化。

增加锚点 —— 最简单的办法就是把你的视图views“锚定”在屏幕的四周。当屏幕方法发生改变的时候 ,这个视图views就能被很自然地“锚定”在屏幕的四周。

重新调整尺寸和位置 —— “锚定”和“集中”是简单处理屏幕方向变化的方法,更高级的方法是根据当 前的屏幕方向,重新调整每个View的尺寸和位置。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, android入门 概念
, 方法
, 方向性
, 模式
, 屏幕
, 方向
, 屏幕方向
, 变化
多方向
android 屏幕方向改变、改变自己去适应环境、改变自己适应环境作文、改变自己适应环境事例、适应环境改变自己素材,以便于您获取更多的相关知识。

时间: 2024-10-30 12:55:16

Android开发入门(六)适应方向 6.1 屏幕方向的改变的相关文章

Android开发入门(七)处理变化 7.4 设置活动的方向

偶尔地,你可能想要确保你的应用程序在某一个确定的方向上面显示,横屏模式或竖屏模式.例如,你可 能会开发一款只在横屏模式下面运行的游戏.在这种情况下,可以通过编写代码,强制把Activity的方向设 置为横向,这需要使用Activity类的setRequestOrientation()方法. import android.content.pm.ActivityInfo; @Override public void onCreate(Bundle savedInstanceState) { supe

Android开发入门系列

Android开发入门(二十)内容提供者 20.3 经过预定义的查询字符 Android开发入门(二十)内容提供者 20.2 ContentProvider的使用 Android开发入门(二十)内容提供者 20.1 数据共享 Android开发入门(十九)数据库 19.3 预创建数据库 Android开发入门(十九)数据库 19.2 使用数据库 Android开发入门(十九)数据库 19.1创建数据库辅助类 Android开发入门(十八)文件 18.4使用静态资源 Android开发入门(十八)

android开发-Android开发入门初学遇到的问题

问题描述 Android开发入门初学遇到的问题 Android开发入门学习,使用的是<第一行代码Android>郭霖著在学习至2.2.5 在活动中使用Toast中产生如下疑问,期待各位前辈帮我解答图中为输入的代码 问题1.书中原话是可以通过findViewById()方法获取到在布局文件中定义的元素,这里我们传入R.id.button 1,来得到按钮的实例,这里的按钮的实例是什么意思能否麻烦详细解释一下. 问题2.书中说findViewById()返回的是一个View对象,我们需要向下转型将它

《Android 开发入门与实战(第二版)》——6.6节配置改变

6.6 配置改变Android 开发入门与实战(第二版)如果设备的配置改变了(定义在Resource.Configuration类中),任何显示在界面上的东西都需要更新以适应配置.由于Activity是与用户交互的主要机制,所以它也包括一些处理配置改变的特殊支持. 除非你指定了,否则配置改变(比如改变屏幕方向,语言,输入设备等)会导致你当前的Activity会销毁,并调用相应的Activity生命周期进程函数onPause(),onStop()以及onDestroy().如果这个Activity

Android开发入门(二十)内容提供者 20.1 数据共享

在上一章节中,我们介绍了数据持久化的几种方法:首选项,文件,以及数据库.在保存复杂的数据结构 时,推荐使用SQliteDatabase.但是,共享数据就成了一种挑战,因为,数据库只对创建它的程序包可用. 在这一章节中,将会介绍Android特有的数据共享方式:使用ContentProvider.也会介绍如何使用内 置的ContentProvider,以及创建自己的ContentProvider,以便在多个程序包之间共享数据. 在 Android中,共享数据的推荐方式是使用ContentProvi

Android开发入门(十一)选择控件 11.1 TimePicker

使用TimePicker,可以让用户去选择一天中的事件,包括24小时制和AM/PM制.下面的例子将会展示如何 使用TimePicker. 1. 创建一个工程:BasicViews4. 2. main.xml中的代码. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q

Android开发入门(十)基本控件 10.2

Button,ImageButton,EditText,ChcekBox,ToggleButton 除了最常用的TextView,Android还提供了一些其他的基本控件. Button ImageButton EditText CheckBox RadioGroup和RadioButton ToggleButton 下面的例子,展示如何使用这些基本控件. 1. 创建一个工程:BasicViews. 2. main.xml 中的代码. <?xml version="1.0" en

android开发-Android开发入门学习遇到的问题

问题描述 Android开发入门学习遇到的问题 Android开发入门学习,使用的是<第一行代码Android>郭霖著其中在2.2.6在活动中使用Menu中遇到问题,书中说打开FirstActivity,重写onCreateOptionsMenu()方法,完成书中代码之后出现截图中呈现的问题,想麻烦各位帮忙解答.拜托各位了 解决方案 用冒号,case R.id.remove_item : case 后面是冒号 解决方案二: 导包呀!不是提示啦!看看你吧 解决方案三: menuitem那里 im

Android开发入门之对话框简单用法_Android

本文实例讲述了Android开发入门之对话框简单用法.分享给大家供大家参考,具体如下: 注:本文只是一个学习笔记 用以记录自己学到哪了 1.获得AlertDialog的静态内部类Builder对象,由此类来创建对话框 2.通过Builder对象设置对话框的标题 按钮以及按钮响应的事件 3.调用Builder的Create()方法创建对话框 4.调用AlertDialog的show()方法显示对话框 main.xml文件 <?xml version="1.0" encoding=&