• Android 开发经验-Fragment相关


    dialogfragment 

    问题背景:

    一般app开发都会遇到弹窗的需求,但是dialogfragment默认的style是带标题栏的,但这又经常是我们不需要的,于是,我们可以设置dialogfragment的style

    1 @Override
    2 public void onCreate(Bundle savedInstanceState) {
    3     super.onCreate(savedInstanceState);
    4     setStyle(DialogFragment.STYLE_NO_TITLE, 0);
    5 }

    但是这样设置之后,你会发现,dialog的高度和宽度并不是你想要的,你怎么设置根view的高度和宽度都无济于事,此时android系统是忽略根view的高度和宽度的,

    所以我采取的一个取巧的方法是,根view设置成RelativeLayout或者FrameLayout,然后第一个view为Space或者View,这个view设置成你要的宽度和高度,如下

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent" >
     5 
     6     <Space
     7         android:layout_width="wrap_content"
     8         android:layout_height="wrap_content"
     9         android:minHeight="248.5dp"
    10         android:minWidth="250dp" />
    11 
    12     <LinearLayout
    13         android:layout_width="wrap_content"
    14         android:layout_height="wrap_content"
    15         android:gravity="center"
    16         android:orientation="vertical"
    17         android:paddingBottom="39dp"
    18         android:paddingLeft="20dp"
    19         android:paddingRight="20dp"
    20         android:paddingTop="30dp" >
    21 
    22     </LinearLayout>
    23 
    24 </RelativeLayout>

    问题背景:

      有时候我们需要用到嵌套fragment,但是嵌套fragment的使用有一个限制,即只能通过代码动态的添加,不能通过在xml中添加,官网是这么解释的,

      Note: You cannot inflate a layout into a fragment when that layout includes a <fragment>. Nested fragments are only supported when added to a fragment dynamically.

      这样带来的问题是,如果fragment的container view是LinearLayout,如果设置fragment之间的margin呢?

    解决方案:

      我的方法是,在子fragment的onstart或着onresume方法中,将view的margin设置上,但是这需要判断当前的fragment是container的第几个child。

  • 相关阅读:
    Linux ssh命令详解
    25个必须记住的SSH命令
    什么是SSH 以及常见的ssh 功能
    SSH简介及两种远程登录的方法
    SSH协议(1)-工作原理及过程
    Linux下查看文件内容的命令
    Spring MVC @RequestMapping注解详解
    Spring MVC入门示例
    Spring 基于xml配置方式的事务
    spring @Transactional注解参数详解
  • 原文地址:https://www.cnblogs.com/lotusJade/p/4419706.html
Copyright © 2020-2023  润新知