zoukankan      html  css  js  c++  java
  • RelativeLayout && inflate

    // 相对于给定ID控件

    android:layout_above 将该控件的底部置于给定ID的控件之上;

    android:layout_below 将该控件的底部置于给定ID的控件之下;

    android:layout_toLeftOf    将该控件的右边缘与给定ID的控件左边缘对齐;

    android:layout_toRightOf  将该控件的左边缘与给定ID的控件右边缘对齐;

    android:layout_alignBaseline  将该控件的baseline与给定ID的baseline对齐;

    android:layout_alignTop        将该控件的顶部边缘与给定ID的顶部边缘对齐;

    android:layout_alignBottom   将该控件的底部边缘与给定ID的底部边缘对齐;

    android:layout_alignLeft        将该控件的左边缘与给定ID的左边缘对齐;

    android:layout_alignRight      将该控件的右边缘与给定ID的右边缘对齐;

    // 相对于父组件

    android:layout_alignParentTop      如果为true,将该控件的顶部与其父控件的顶部对齐;

    android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;

    android:layout_alignParentLeft      如果为true,将该控件的左部与其父控件的左部对齐;

    android:layout_alignParentRight    如果为true,将该控件的右部与其父控件的右部对齐;

    // 居中

    android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;

    android:layout_centerVertical     如果为true,将该控件的置于垂直居中;

    android:layout_centerInParent   如果为true,将该控件的置于父控件的中央;

    // 指定移动像素

    android:layout_marginTop      上偏移的值;

    android:layout_marginBottom 下偏移的值;

    android:layout_marginLeft   左偏移的值;

    android:layout_marginRight   右偏移的值;

     通俗的说,inflate就相当于将一个xml中定义的布局找出来.
      
      因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件.
      
      因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件,如:
      
      Viewview=View.inflate(this,R.layout.dialog_layout,null);
      
      TextViewdialogTV=(TextView)view.findViewById(R.id.dialog_tv);
      
      dialogTV.setText("abcd");
      
      如果组件R.id.dialog_tv是对话框上的组件,而你直接用this.findViewById(R.id.dialog_tv)肯定会报错.
      
      三种方式可以生成LayoutInflater:
      
      LayoutInflaterinflater=LayoutInflater.from(this);
      
      LayoutInflaterinflater=getLayoutInflater();
      
      LayoutInflaterinflater=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
      
      然后调用inflate方法将xml布局文件转成View
      
      publicViewinflate(intresource,ViewGrouproot,booleanattachToRoot)
      
      在View类中,也有inflate方法
      
      publicstaticViewinflate(Contextcontext,intresource,ViewGrouproot)

  • 相关阅读:
    MySql 用户 及权限操作
    MAC 重置MySQL root 密码
    在mac系统安装Apache Tomcat的详细步骤[转]
    Maven:mirror和repository 区别
    ES6 入门系列
    转场动画CALayer (Transition)
    OC 异常处理
    Foundation 框架
    Enum枚举
    Invalid App Store Icon. The App Store Icon in the asset catalog in 'xxx.app' can’t be transparent nor contain an alpha channel.
  • 原文地址:https://www.cnblogs.com/greywolf/p/2831295.html
Copyright © 2011-2022 走看看