zoukankan      html  css  js  c++  java
  • Android 局部布局替换的实现方式

      最近在搞远程视频的功能,其中要实现加载视频、加载视频失败、加载成功的局部布局替换,查阅相关资料,找到一种投机取巧的方式。

      首先分别写这三种效果的子布局,分别为

    top_remotetreate.xml,
    top_attemptconnect.xml,
    top_failcon.xml

    然后在主布局中include这三个xml,如下:
    <include
    android:id="@+id/inc_remotetreate"
    android:layout_width="match_parent"
    android:layout_height="240dp"
    android:layout_marginTop="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginLeft="10dp"
    layout="@layout/top_remotetreate" />

    <include
    android:id="@+id/inc_attemptconnect"
    android:layout_width="match_parent"
    android:layout_height="240dp"
    android:layout_marginTop="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginLeft="10dp"
    android:visibility="gone"
    layout="@layout/top_attemptconnect" />

    <include
    android:id="@+id/inc_failconnect"
    android:layout_width="match_parent"
    android:layout_height="240dp"
    android:layout_marginTop="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginLeft="10dp"
    android:visibility="gone"
    layout="@layout/top_failcon" />
    即一个暂时显示,另两个处于隐藏状态(Android中控件的visibility属性的三种状态:可见(visible),不可见(invisible),隐藏(gone)
    最后在相应的Java文件中获取布局对象,设置其Visibility属性:
    private LinearLayout inc_remotetreate,inc_attemptconnect,inc_failconnect;
    inc_remotetreate = view.findViewById(R.id.inc_remotetreate);
    inc_attemptconnect = view.findViewById(R.id.inc_attemptconnect);

    inc_failconnect = view.findViewById(R.id.inc_failconnect);
    inc_remotetreate.setVisibility(View.GONE);

    inc_attemptconnect.setVisibility(View.VISIBLE);
    inc_failconnect.setVisibility(View.GONE);
    这样就实现了想要实现的效果哟!!!
     
  • 相关阅读:
    Win7下安装iMac系统
    Windows平台cocos2d-x 3.0 android开发环境
    iOS Dev (50)用代码实现图片加圆角
    内部消息 微软中国云计算 内測Azure免费账号 赶紧申请 错过不再有
    android锁屏软件制作
    CF1019E Raining season
    各数据库系统独有函数
    其他函数
    日期时间函数
    字符串函数
  • 原文地址:https://www.cnblogs.com/dmrbell/p/11286699.html
Copyright © 2011-2022 走看看