android中include文件的使用

  记得很久以前,听一位大神说,程序员都很懒,不懒惰的程序员不是好程序员,当时不明白什么意思.后来慢慢的懂得了它的意思,好的程序员不要做重复的工作.

  我们在android的布局文件中,常会遇到一些相同的布局,每个页面都写,一是比较麻烦,二是一旦有修改还得改多个文件.这个时候我们就可以用到include了.

  非常简单的使用,下面看代码

  include的文件scollandlisttitle.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="wrap_content"
    android:orientation="vertical" 
    >
    
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="#000000"
        >
	    <TextView 
	        android:id="@+id/txt_left_f"
	        android:layout_width="0dp"
	        android:layout_height="50dp"
	        android:layout_weight="1"
	        android:gravity="center"
	        android:text="文字"
	        android:clickable="true"
	        />
	    <TextView 
	        android:id="@+id/txt_right_f"
	        android:layout_width="0dp"
	        android:layout_height="50dp"
	        android:layout_weight="1"
	        android:gravity="center"
	        android:text="图片"
	        android:clickable="true"
	        />
    </LinearLayout>
    <View 
        android:id="@+id/view_line"
        android:layout_width="50dp"
        android:layout_height="1dp"
        android:background="#FF0066"
        />
</LinearLayout>

再看调用它的页面:scollandlistviewpager.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:orientation="vertical" 
    android:id="@+id/vparent_layout">
    
    <com.example.listsuspension.MyScrollView 
        android:id="@+id/vscrollView"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true">
        <FrameLayout 
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            
            <LinearLayout 
                android:layout_width="match_parent"
            	android:layout_height="wrap_content"
            	android:orientation="vertical"
                >
                <ImageView 
                    android:id="@+id/viamge"
                    android:layout_width="match_parent"
            		android:layout_height="wrap_content"
            		android:background="@drawable/pic"
            		android:scaleType="center"
                    />
				
               <span style="color:#FF0000;"> <include 
                    android:id="@+id/vtitle"
                    layout="@layout/scollandlisttitle"
                    /></span>
                <android.support.v4.view.ViewPager
			      android:id="@+id/viewpager"
			      android:layout_width="match_parent"
			      android:layout_height="fill_parent"
			      />
            </LinearLayout>
            
           <span style="color:#FF0000;"> <include 
                    android:id="@+id/vtop_title"
                    layout="@layout/scollandlisttitle"
                    /></span>
            
        </FrameLayout>
        
        
    </com.example.listsuspension.MyScrollView>

</LinearLayout>

加红的部分就是两个引用.加上之后,是不是就能看到include文件里的内容显示出来了.

这里有一个问题,include里面的控件id是一样的,这怎么办呢.其实很简单,它们是被不同的include所包含,所以在使用findViewById的时候,从包含它的include里面取就行了.下面是代码



titleLayout = (LinearLayout)findViewById(R.id.vtitle);
toptitleLayout = (LinearLayout)findViewById(R.id.vtop_title);
		//viewPager = (ViewPager)findViewById(R.id.viewpager);
		
		
		//点击按钮事件
		txt_left_fc = (TextView)toptitleLayout.findViewById(R.id.txt_left_f);
		txt_left_fc.setOnClickListener(this);
		txt_right_fc = (TextView)toptitleLayout.findViewById(R.id.txt_right_f);
		txt_right_fc.setOnClickListener(this);



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值