Android Include的使用,获取include 里面的控件

本文详细介绍了Android中`include`标签的使用,如何在布局文件中复用组件,以及如何为重复引用的布局设置独立ID以进行个性化修改。同时,文章还探讨了在代码中动态改变`include`布局属性的方法,并特别提醒在获取`include`内控件时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

include 就是在一个布局中引入另一个布局,include 可以使相同的页面就写一次,提高了共同布局的复用性。

1.先定义一个共用的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/include_layout"
    android:clickable="true"
    android:focusable="true">
    <TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="因为在一千年以后,世界早已没有我"
        android:layout_margin="20dp"
        android:textSize="20sp"
        android:clickable="false"
        android:focusable="false"
        android:gravity="center"
        android:background="@color/purple_200"/>
</LinearLayout>

2.使用include在布局中引用上面定义的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

   <include layout="@layout/include_layout"
       android:id="@+id/include1"/>
   <include layout="@layout/include_layout"
       android:id="@+id/include2"/>

</LinearLayout>

引用两次一样的布局,需要添加id才可以分别修改它们的属性

3.在代码中尝试改变include布局的属性

public class MainActivity extends AppCompatActivity {
    LinearLayout include1,include2;
    TextView textView1,textView2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        include1 = findViewById(R.id.include1);
        include2 = findViewById(R.id.include2);
        include1.setBackgroundColor(Color.YELLOW);//给include1布局设置背景色
        include2.setBackgroundColor(Color.BLUE);//给include2布局设置背景色
        textView1 = include1.findViewById(R.id.text_view);//初始化include1里的textview
        textView2 = include2.findViewById(R.id.text_view);//初始化include2里的textview
        textView1.setBackgroundColor(Color.GREEN);//设置include1里textview的背景色
        textView1.setText("心跳乱了节奏");//设置include1里textview的文字
        textView2.setText("静止了,所有的花开");//设置include2里textview的文字


    }
}

获取include里面的控件时注意,需要使用

textView1 = include1.findViewById(R.id.text_view);
textView2 = include2.findViewById(R.id.text_view);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值