美文网首页
服务器返回的json;DrawerLayout;setConte

服务器返回的json;DrawerLayout;setConte

作者: 小山包 | 来源:发表于2016-11-21 14:01 被阅读0次

    1.解析服务器返回的json

    解析譬如{"status":"-100003","msg":"用户名不存在!","data":""}这样的json,最好让服务器返回{"status":"-100003","msg":"用户名不存在!","data":"{}"},重点是data字段的内容,要有{},不然gson会认为data的字段是字符串,而不是你指定的类型,徒增麻烦。

    2.DrawerLayout抽屉显示全屏

    DrawerLayout的源码里写死了private static final int MIN_DRAWER_MARGIN = 64; // dp,在布局文件里,Navigator部分里的属性layout_marginLeft/Right设置为-64dp,另需要设置android:fitsSystemWindows="true",以及设置layout_width为match_parent。

    2.1 抽屉使用NavigationView

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:layout_marginRight="-64dp"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer"/>
    

    2.2 抽屉使用<fragment>

    使用fragment的话会稍微麻烦一点,除了NavigationView需要做的之外,还需要目标fragment加载的布局文件的根view添加

    android:layout_marginLeft=-64dp
    android:fitsSystemWindows="true"
    android:layout_width="match_parent"
    

    不然不会起作用。

    2.3 抽屉使用<include>

    使用<include>作为Drawer的话跟使用NavigationView是一样一样的。

    3.不要重复setContentView

    比如Activity的setContentView和DataBinding的DataBindingUtil.setContentView,不要重复调用一个xml文件。

    相关文章

      网友评论

          本文标题:服务器返回的json;DrawerLayout;setConte

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