zoukankan      html  css  js  c++  java
  • Android开发-ViewStub使用

    ViewStub是一个用于加载布局文件的控件,用于控制在视图中显示那一部分,功能类似于android:visibility属性,可以使用View.Gone来控制某一个视图控件的隐藏和显示。

    当然,ViewStub和android:visibility属性还是有一定的区别的,并且有一定的优势。ViewStub在软件启动的时候,软件只加载ViewStub部分的视图,而不加载ViewStub所关联的相应的视图,在有在调用inflate后才加载ViewStub所关联的视图,这样能够减小对手机内存的消耗,而使用View.Gone虽然可以实现对视图控件的隐藏和显示,但是需要在布局文件中提前设置好所有的控件,虽然可以把属性设置为View.Gone,但是在加载相应的视图的时候,依然需要将相应的视图控件全部加载,对内存的消耗太大,所以ViewStub可以起到一定的作用,要适当的使用两者的结合。

    但ViewStub有一定的缺陷,它只能加载一次视图控件,加载视图控件之后就不能使用ViewStub再对所关联的视图控件进行设置。

    示例代码:

    <ViewStub
            android:id="@+id/vs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"

       android:layout_marginLeft="5dip"  

       android:layout_marginRight="5dip"  

       android:layout_marginTop="10dip"
            android:layout="@layout/popupwindow"/>

    其中android:layout属性就是其所关联的layout布局

    在代码中是findViewById(R.id.vs).inflate();

    就可以将所关联的布局显示出来替代ViewStub,同时在ViewStub设置的一些相应的属性也会传递给所关联的布局。

    android:layout_marginLeft="5dip"  

       android:layout_marginRight="5dip"  

       android:layout_marginTop="10dip"

    都会传递给@layout/popupwindow中的控件

  • 相关阅读:
    TestNG教程网站
    BITE
    软件测试理论
    Java 学习笔记 (八) Java 变量
    封装
    把封装脚本做成jar包
    表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)
    IOException parsing XML document from class path resource [WebRoot/WEB-INF/applicationContext.xml];
    java 里面耦合和解耦
    JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
  • 原文地址:https://www.cnblogs.com/YangMT/p/4748463.html
Copyright © 2011-2022 走看看