UI布局

时间:2022-09-18 21:56:58

1,初始化控件一般在onCreate()中完成,由于构造器中尚未完成控件加载,不能在其内初始化控件.

2,Activity子类必须含有无参构造.Intent.startActivity()方法调用的是Activity的无参构造来启动Activity的.

3,intent-filter

  • Main Activity必须使用category.Launcher作为类别.  
  • 自定义category必须首先包含category.Default.对于其余的category,在指定Intent时必须使用addCategory方法添加.
  • 使用隐式的Intent调用时,如果有多个Activity满足条件时,屏幕会出现选择列表.

4,在Activity间传输数据

  • 通过Intent.putExtra/getXxx来传递简单类型或者Serializable.
  • 通过Activity的静态变量.需要在startActivity显示之前进行赋值.
  • 使用剪贴板.只支持String.对于Serializable对象,=>byte[]=>Base64编码为String.Base64.decode来解码.
  • 使用全局对象.getApplicationContext().
    • extends Application.且在<application >节点配置该类.
  • 返回数据到前一个Activity.
    • startActitvityForResult(intent,1).其中,1代表请求码,用以在获取结果时区分请求.
    • intent.putExtra(); setResult(2,intent).其中,2代表响应码,
    • 重载onActivityResult方法来获取结果.

5,UI布局

  • 使用XML布局文件定义View.
    • 保存在res/layout中的xml文件.
    • 布局文件,和其内的视图ID都会在R和R.id类中生成一个对应的变量.所以命名要符合规范.
    • 指定ID:@+id/idName.表示如果idName值在R.id中不存在时,产生新的,如果以存在,直接使用之.
    • 使用: setContentView(R.layout.Xxx).findViewByID(R.id.Xxx).
  • 在代码中控制View.
    • setText().如果参数是int类型时,会被认为是字符串资源的ID.所以使用textView.setText(string.valueof(200))来设置int值.
    • 一个视图只能有一个父视图.

6,布局.

  • FrameLayout
    • 以层叠覆盖方式显示.
    • layout_gravity:视图在父视图中的位置.layout_marginTop/Bottom,视图的上/下边缘离基线的距离.
  • LinearLayout
    • orientation:horizontal/vertical.
    • gravity属性.控制视图的位置.可以有多个值,使用|分割.
    • layout_weight:如果是大于0的值,代表父视图中,除掉该值为0的子视图的高/宽值后,所占据的比例值.响应地拉伸.
  • RelativeLayout
    • layout_Below/above/toLeftOf/toRightOf.可以指定右下这样的组合值.
  • TableLayout
    • 一般使用GridView来代替表格布局.
  • AbsoluteLayout
    • layout_x/y.
  • <inculde>来重用布局文件
    • 可以覆盖被引用布局文件中的属性值.
  • 任意一个布局文件,系统都会在最外层添加一个FrameLayout.

UI布局的更多相关文章

  1. Duilib源码分析&lpar;五&rpar;UI布局—Layout与各子控件

    接下来,继续分析duilib之UI布局Layout,目前提供的布局有:VerticalLayout.HorizontalLayout.TileLayout.TabLayout.ChildLayout分 ...

  2. iOS-屏幕适配-UI布局

    iOS 屏幕适配:autoResizing autoLayout和sizeClass 一.图片解说 -------------------------------------------------- ...

  3. AppleWatch&lowbar;&lowbar;&lowbar;学习笔记(二)UI布局和UI控件

    1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...

  4. iOS开发~UI布局(三)深入理解autolayout

    一.概要 通过对iOS8界面布局的学习和总结,发现autolayout才是主角,autolayout是iOS6引入的新特性,当时还粗浅的学习了下,可是没有真正应用到项目中.随着iOS设备尺寸逐渐碎片化 ...

  5. iOS开发~UI布局(二)storyboard中autolayout和size class的使用详解

    一.概要:前一篇初步的描述了size class的概念,那么实际中如何使用呢,下面两个问题是我们一定会遇到的: 1.Xcode6中增加了size class,在storyboard中如何使用? 2.a ...

  6. iOS开发~UI布局(一)初探Size Class

    随着iOS8系统的发布,一个全新的页面UI布局概念出现,这个新特性将颠覆包括iOS7及之前版本的UI布局方式,这个新特性就是Size Class.Size Class配合Auto Layout可以解决 ...

  7. WPF UI布局之概述

    在线演示:http://v.youku.com/v_show/id_XNzA5NDk2Mjcy.html 清晰版视频+代码下载:http://115.com/lb/5lbeer0m9lad 一.简单介 ...

  8. iOS UI布局调试工具

    查看ios软件的ui布局有三种: 1.DCIntrospect    这种方式是开源的,我从github上clone下来后运行demo,运行遇到了问题:Xcode cannot run using t ...

  9. WPF案例 &lpar;六&rpar; 动态切换UI布局

    原文:WPF案例 (六) 动态切换UI布局 这个Wpf示例对同一个界面支持以ListView或者CardView的布局方式呈现界面,使用控件ItemsControl绑定数据源,使用DataTempla ...

  10. iOS8开发~UI布局(二)storyboard中autolayout和size class的使用具体解释

    一.概要:前一篇初步的描写叙述了size class的概念,那么实际中怎样使用呢,以下两个问题是我们一定会遇到的: 1.Xcode6中添加了size class,在storyboard中怎样使用? 2 ...

随机推荐

  1. angular &dollar;http 请求数据的时候加载loading

    1.目录结构 2.页面加载时效果(加载的时候比较难截图,是页面上方出现一条进度条,然后我另加了一个Loading..的提示,请忽略那个table) 3.页面加载完成后效果 4.index.html & ...

  2. 在View中使用CGridCtrl时出现系统异常

    一.简介 我的程序是单文档程序,我的View视图需要使用CGridCtrl,于是我把CGridCtrl作为子窗口嵌入到View中覆盖住整个View.由于不能像gridctrl_demo227那样直接在 ...

  3. Flexslider图片轮播、文字图片相结合滑动切换效果

    Flexslider是一款基于的jQuery内容滚动插件.它能让你轻松的创建内容滚动的效果,具有非常高的可定制性.开发者可以使用Flexslider轻松创建各种图片轮播效果.焦点图效果.图文混排滚动效 ...

  4. 求第k小的数 O&lpar;n&rpar;复杂度

    思路:利用快速排序的思想,把数组递归划分成两部分.设划分为x,数组左边是小于等于x,右边大于x.关键在于寻找一个最优的划分,经过 Blum . Floyd . Pratt . Rivest . Tar ...

  5. mongo 存储过程

    摘要 本文主要介绍mongo存储过程,mongo 存储过程其实就是JS方法,然后通过eval 方法来执行,但是这个方法在3.0 depreate了,也就是在未来的版本,这个功能可能不提供了.从目前的j ...

  6. iOS中 超简单抽屉效果(MMDrawerController)的实现

    ios开发中,展示类应用通常要用到抽屉效果,由于项目需要,本人找到一个demo,缩减掉一些不常用的功能,整理出一个较短的实例. 首先需要给工程添加第三方类库 MMDrawerController: 这 ...

  7. 创建python虚拟环境如果速度很慢

    conda create -n jjenv python=3.6如果我们这样子创建的话下载速度很慢,那就可以用如下方式,相当于改了下载源. conda create -n jjenv python=3 ...

  8. 函数QFileSystemModelPrivate&colon;&colon;&lowbar;q&lowbar;fileSystemChanged

    由于Qt的体系过于庞大,即使是某个模块,分析起来也十分困难.对于QFileSystemModel,我们在这里对单个重要函数慢慢分析 1 /*! \internal The thread has rec ...

  9. pycharm提示This inspection detects any methods which may safely be made static&period;

    示例代码: class Car(object): # 未定义任何类属性 def move(self): # 方法会出现下划线提示This inspection detects any methods ...

  10. json转java对象

    用了平台之后很少再接触到java和js的底层代码,前几天远程帮一个萌新远程调试代码,这个萌新按照网上的教程去将json字符转java对象却一直报错.真相是它的json字符串格式不对,他的明明是一个数组 ...