Android中include標簽的使用(打開引用布局,隱藏當前布局)


在開發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);//隱藏當前布局
}

這樣點擊按鈕,就觸發了顯示引用布局,隱藏當前布局。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM