• Android动态改变布局


    下面这篇文章是我在csdn上看到的,有所启发,主要是下面提到的当软件盘弹出时将原本上下排列的布局改成左右排列这种交互设计比较好,另外在java代码中添加RelativeLayout的布局规则也值得学习,原文如下:

    遇到这么个需求,先看图:

    ---

    其实是一个软件的登录界面,初始是第一个图的样子,当软键盘弹出后变为第二个图的样子,因为登录界面有用户名、密码、登录按钮,不这样的话软键盘弹出后会遮住登录按钮(其实之前的实现放到了ScrollView里面,监听软键盘弹出后滚动到底部,软键盘隐藏后滚动到顶部,也是可以的)。

    最简单的方法就是多加几个冗余的View,根据软键盘的状态隐藏不需要的View,显示需要的View,但这样感觉太挫了,然后就想起了前两年研究的RelativeLayout布局,RelativeLayout中子控件的布局都是相对位置,只需要在软键盘弹出隐藏时改变应用的位置规则就行了。

    先来看一下布局文件

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    de ><RelativeLayoutxmlns:android=de>de >"http://schemas.android.com/apk/res/android"de>

    de >    de>de >xmlns:tools=de>de >"http://schemas.android.com/tools"de>

    de >    de>de >android:id=de>de >"@+id/root"de>

    de >    de>de >android:layout_width=de>de >"match_parent"de>

    de >    de>de >android:layout_height=de>de >"match_parent"de>

    de >    de>de >android:padding=de>de >"20dp"de>

    de >    de>de >tools:context=de>de >"${packageName}.${activityClass}"de> de >>de>

    de >    de>de ><RelativeLayoutde>

    de >        de>de >android:id=de>de >"@+id/container"de>

    de >        de>de >android:layout_width=de>de >"match_parent"de>

    de >        de>de >android:layout_height=de>de >"wrap_content"de>

    de >  &nbs de>

    Tag:

    Freenovo 发表于2014-10-07 09:49:00 | 编辑 | 分享 0

    引用地址:

  • 相关阅读:
    Hadoop配置文件参数详解
    Flume
    Oozie
    springmvc全局异常处理ControllerAdvice区分返回响应类型是页面还是JSON
    jsplumb 初识
    RabbitMQ 在Windows环境下安装
    Springboot2+SpringSecurity+Oauth2+Mysql数据库实现持久化客户端数据
    FastDFS与hadoop的HDFS区别
    springboot指定注解扫描范围
    Spring Boot2.0以上版本EmbeddedServletContainerCustomizer被WebServerFactoryCustomizer替代
  • 原文地址:https://www.cnblogs.com/freenovo/p/4469771.html
Copyright © 2020-2023  润新知