在开发app的时候,有时候一个布局会反复用到,可以把反复用到的布局单独写一个xml文件,什么时候用到就用includ标签引入xml

下面是我写的反复用到的一个xml,里面有2个button,一个TextView和一个ProgressBar

layout_progress.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:visibility="gone" >

<ProgressBar
android:id="@+id/ap_comments_progress"
style="@style/LoadingProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />

<TextView
android:id="@+id/tv_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="@string/loading"
android:textColor="@color/text_color_blue"
android:textSize="16sp" />

  <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/linear_layout_btn"
  android:visibility="visible"
  android:orientation="vertical">
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/stop_smart_config"
      android:id="@+id/btn_cancel_config"
      android:onClick="cancelConfig"
    />

    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/resmart_config"
      android:id="@+id/btn_re_config"
      android:onClick="reConfig"
    />

  </LinearLayout>

</LinearLayout>

在一个MainActivity引入这个布局,在activity_main.xml加入下面的代码:

<include
android:id="@+id/layout_loading"
layout="@layout/layout_progress" />

上面的layout_progress.xml中,设置visibility属性:android:visibility="gone" ,这个布局是隐藏的,我想在点击一个button的时候显示这个布局并隐藏当前布局。activity_main.xml中写一个button:

activity_main.xml

<Button
android:id="@+id/bt_config_router"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:onClick="configToRouter"
android:text="@string/configure_to_route" />

在MainActivity中是这么写的:

private View loadingLayout,bodyLayout;//定义引用布局和当前布局

  loadingLayout = findViewById(R.id.layout_loading);
  bodyLayout = findViewById(R.id.body_layout);

  public void configToRouter(View v){

    loadingLayout.setVisibility(View.VISIBLE);//显示引用布局
    bodyLayout.setVisibility(View.GONE);//隐藏当前布局
}

这样点击按钮,就触发了显示引用布局,隐藏当前布局。

最新文章

  1. python小细节
  2. Java学习笔记一——安装JDK并配置环境变量
  3. 三:Go编程语言规范-表达式
  4. Codeforces Round #209 (Div. 2) B. Permutation
  5. pthread_mutex_lock
  6. HM NIS Edit 2.0.3 Win32 Error. Code:740.请求的操作需要提升
  7. Gridview用法大总结
  8. c# params
  9. python_way ,json(自学)
  10. 【转】android布局属性详解
  11. HTML+CSS学习笔记 (6) - 开始学习CSS
  12. 关于C#中static静态变量
  13. SQL模擬死結產生
  14. C 程序实现密码隐秘输入 linux系统可执行
  15. LeetCode之“动态规划”:Interleaving String
  16. 认识border
  17. ASP.NET MVC AntiForgeryToken
  18. 【 D3.js 入门系列 --- 2 】 怎样使用数据和选择元素
  19. 源代码方式调试Mycat
  20. Python画统计图

热门文章

  1. HTML中 .clearfix:after的使用
  2. SpringSecurity3.X权限原理(转)
  3. mongo_2 $in 和 $all 区别
  4. Win10 pip安装pycocotools报错解决方法(cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”)
  5. 605. Can Place Flowers零一间隔种花
  6. 283. Move Zeroes把零放在最后面
  7. c语言函数是怎么传递参数的
  8. c语言实践 用1角 2角 5角 凑成10元钱的方法
  9. Date3.19
  10. nmap 笔记