美文网首页Android开发
《第一行代码》阅读笔记2

《第一行代码》阅读笔记2

作者: aasdfghjkll | 来源:发表于2018-11-16 20:07 被阅读9次

    Android开发之UI开发

    1.属性android:visibility

    (所有控件中都具有的属性)
    可选值有三种:visible、invisible、gone
    invisible表示控件不可见,但它仍然占据着原来的位置和大小
    gone表示控件不可见&控件不占用屏幕空间

    还可以在代码中设置控件的可见性:
    setVisibility(View.VISIBLE);传入View.VISIBLE、View.INVISIBLE或View.GONE三种值

    2.TableLayout的基本结构:

    <TableLayout>
    
      <TableRow>
        ...
      </TableRow>
      
      <TableRow>
        ...
      </TableRow>
    
    </TableLayout>
    

    中的两个重要属性

    <TableLayout>
      
      <TableRow
        android:layout_span="2">
        ...
      </TableRow>
    
    </TableLayout>
    
    

    让一行控件占据两列

    <TableLayout
      android:stretchColumns="1">
      ...
    </TableLayout>
    

    将有该属性的一行进行拉伸,达到自动适应屏幕的作用。

    3.ListView

    ListView的两个优化:

    使用用Adapter中的getView()方法的View参数中的布局缓存进行重用,这样就可以不必重复加载布局。

    为getView中获得的子view添加一个Viewholder的Tag,这样在每次有布局缓存时,就不用再通过getViewById()来获取一次控件的实例了。

    当传入adapter的数据修改后,通过以下语句刷新ListView中的显示:

    adapter.notifyDataSetChanged();
    

    将ListView定位到最后一行:

    listView.setSelection(contentList.size());
    

    4.dp和sp

    dp(密度无关的像素)
    2英寸3英寸的320像素480像素中,屏幕密度为320/2=160dip
    密度为160时,1dp=1px
    密度为320时,1dp=2px
    sp(指定文字大小)和dp原理相同

    5. 点9图

    左和上绘制的线代表拉伸区域,右和下绘制的线代表内容被放置区域

    6.碎片(Fragment)

    让程序更加合理地利用大屏幕的空间
    像这样:


    未合理利用空间
    利用了Fragment之后的效果

    Amazing!!!


    image.png

    Fragment的用法
    静态添加注意事项:

    • 需要在xml文件中的<fragment>标签中添加name属性用来指定Fragment的类
    • 动态添加碎片


      动态添加碎片的关键步骤
    • 在碎片中模拟返回栈(按下返回键不是直接退出程序,而是返回上一个fragment中)


      将fragment加入回退栈

      其中的参数是用于描述返回栈状态的名字

    • 碎片和活动之间进行通信
      在碎片中获取活动的实例:
    MainActivity activity=(MainActivity)getActivity();
    

    在活动中获取碎片的实例:
    RightFragment rightFragment=(RightFragment)getFragmentManager().findFragmentById(R.id.right_fragment);
    碎片和碎片之间互相调用:

    先在碎片中调用相关联的活动,在用这个活动去调用碎片

    • fragment的生命周期
      运行状态

    fragment相关的代码见


    未完待续

    相关文章

      网友评论

        本文标题:《第一行代码》阅读笔记2

        本文链接:https://www.haomeiwen.com/subject/vocvfqtx.html