第四周

一.       布局

1.       LinearLayout 

子元素彼此连接,根据之前设定排列

重要属性orientation :vertical 垂直 horizontal 水平

         gravity  控件内容相对于控件对齐方式     

    layout_gravity 控件相对于父控件的对齐方式

    padding 内边距     margin外边距

    layout_weight 父控件剩余空间的分配比例

2.       RelativeLayout 

控件位置靠依赖关系

方向位置(依靠id):layout_below,above,toLeftOf,toRightOf

方向对齐(依靠id):layout_alignTop,alignBottom…..

基准线(id):alignBaseline

父控件边缘对齐(true):layout_alignParent方向

父控件中央对齐(true):centInParent,centerVertical

                   centerHorizontal

头尾部(id): Start ,End

二.       UI基础控件

1.       TextView

一些基本属性id,background(@color或者@drawalbe),TextSize

drawable方向  X方向添加图片

autoLink 自动识别链接

marquee 跑马灯 ellipsize省略号

singLine 单行

2.       Button

3.       EditText

  属性hint,提醒输入

4.       ImageView

 src前景图片

 特殊scaleType缩放类型

5.       CheckBox

6.       RadioButton和RadioGroup(容器)

7.       ToggleButton

8.       SeekBar可拖进度条,ProgressBar,RatingBar

9.       Time/DatePicker

10. 监听器:常用内部类或者匿名内部类,还有Activity和XML

  以Button为例设置并响应

a.        XML布局中定义Button并设置id

b.       Java代码中创建Button对象依靠findViewById绑定

c.         创建内部类并实现OnClickListener接口重写里面方法

d.       生成内部类对象

e.        为按钮添加监听器button.setOnClickListener(对象)

11. 距离单位:控件常用dp(设备独立像素),字体常用sp

三.       Activity管理与生命周期

1.       新建一个activity并去启动

a.        新建activity,class去继承Activity,重写onCreate方法

b.       新建一个XML,java里setContentView去绑定

c.         activtiy在Manifest中去注册

d.       创建Intent对象,Intent intent =new Intent

e.        intent调用setClass去设置要启动哪个Activity

f.          直接调用sartActivity(intent)进行跳转

2.       activity的生命周期


四.       Dialog对话框

AlertDialog ,ProgressDialog,DatePickerDialog

AlertDialog创建:通过AlertDialog.Builder 创建内部类对象builder.set方法去设置一系列参数

通过builder.create()创建,.show()显示出来

 

五.       Fragment 

解耦,轻量简单

1.重要生命周期

a.        onAttach():fragment关联到activity后参数传递完毕

b.       onCreate():fragment的创建,还不能获取Activity内容

c.         onCreateView():创建fragment要加载的View

d.       onDetach:fragment生命周期最后一个回调方法

完整生命周期图:

 

2.在Activity中加载Fragment

a.静态

class继承fragment,重写onCreatView绑定布局文件

在Activity中声明Fragment,跟普通View一样

b.动态

 新建一个类FragmentTest,继承Fragment重写onCreatView,在里面绑定fragment的xml

 主xml中添加FragmentLayout,设置id

 (主xml设置button,onClick=方法名addFragment,Activity中定义方法addFragment(View view),并加载)

 创建Fragment管理器

 Fragmentmanager  fm=getSupportFragmentManager()

 获取Fragment事务对象,并开启事务

 FragmentTransaction  ft=fm.beginTranscation()

  调动事务的动态方法添加移除替换Fragment

  FragmentTest fragmentTest =newFragmentTest();                       

 ft.add(id,fragmentTest,tag)//添加,tag是string类型,便于后面找到这个添加的fragment

 提交事务

 ft.commit()

3.remove和replace

a.

remove大体跟add一样,在判断如何去找前一个添加的fragment的时候,可以通过tag或者id

ft.remove方法,在里面fm.findFragmentByTag

b

replace是将Fragment清空再加入新的,Replace切换时,Fragment会重新初始化

4.Fragment的显示show()和隐藏hide()

 作用:切换时不用再次加载

 hide只是隐藏,不会摧毁数据

5.Fragment数据传递

两种方式:1.setArguments()  2.通过回调

setArguments:

Activity通过bundle对象将其传递的值存放在里面,然后通过setArguments(bundle)来传递,然后在Fragment通过getArguments()方法,按照唯一键来获取值。

用来传递数据,被销毁的时候,数据会被暂时存储

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值