假使我们遇到这么一种情况,我们需要开发一个app,这个app的基本所有的Activity都使用到了相同的布局,我们该如何设计?我们是给这些个Activity布局文件都统一加上一样的布局代码吗?但是这样维护起来很麻烦,修改很不方便,Android布局中有没有一种类似于编程语言的include语法呢?答案是有的,但是sdk的demo并没有说出使用方法,但这并不说明不好使用,其实很简单。下面的IncludeXmlTest工程给出了样式。
我们新建一个IncludeXmlTest工程,我们先从布局文件上下手,我们新建一个真正的real.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" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="show" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout>
然后在我们需要引入的xml文件中,include这个real.xml就可以了,我这个main.xml代码如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <include android:id="@+id/include" layout="@layout/real"/> </LinearLayout>
这个include部分就是引入了real.xml的布局,之后我们在程序中只需要布局main.xml文件即可:
public class IncludeXmlTestActivity extends Activity { private TextView mTextView; private Button mButton; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initView(); } /** * 设置view * */ public void initView(){ mTextView = (TextView) findViewById(R.id.text); mButton = (Button)findViewById(R.id.button); mButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub mTextView.setText("hello, i am here"); } }); } }
http://www.ourunix.org/android/post/87.html
相关推荐
1. **使用包含(include)标签**:在Android中,`<include/>`标签允许将一个布局文件嵌入到另一个布局文件中,减少代码冗余。例如,如果多个活动都需要一个通用的头部,可以在`header.xml`中定义这个头部,然后在...
首先,`include`标签的作用是允许你在多个布局文件中复用同一份布局。这在你有多个界面需要共享相同设计的情况下特别有用。例如,标题栏(titlebar)就是一个常见的重用组件。在`titlebar.xml`中定义一个标题栏的...
10. **性能优化**:通过对布局文件的分析,我们可以发现应用可能采取的性能优化策略,比如使用merge标签减少视图层次,或者使用include标签重用布局。 总的来说,反编译"食神摇摇"的布局文件是一种有效的学习方法,...
`include`和`merge`标签是Android XML布局文件中两个非常重要的元素,它们帮助开发者实现布局的重用和优化,提高代码的可维护性和效率。本篇文章将深入探讨这两个标签的使用方法以及它们在Android开发中的作用。 ##...
首先,`<include>`标签允许我们将一个布局文件插入到另一个布局文件中,这样可以实现布局组件的重用。例如,假设我们有一个通用的头部布局(header.xml)和一个主页面布局(main.xml),在main.xml中我们可以这样...
`include`和`merge`标签是Android XML布局文件中两个非常重要的元素,它们帮助开发者实现布局的重用和优化,提高代码的可维护性和效率。接下来,我们将深入探讨这两个标记的区别和使用方法。 ### `include`标签 `...
所以当你通过写一个自定义视图创建独立UI组件,你可以放到一个布局文件里,这样更容易复用。 复用布局因为其允许你创建可复用的复杂布局而显得非常强大。如,一个 是/否 按钮面板,或带描述文本的自定义进度条。这...
<include>标签能够重用布局文件,简单的使用如下: <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:orientation=vertical android:layout_width=”match_parent”
布局文件可以包含其他布局资源,通过`<include>`标签实现。这有利于代码重用和维护,例如: ```xml <include layout="@layout/my_common_header" /> ``` 此外,还可以通过`<merge>`标签优化嵌套布局的性能,减少...
`include`标签允许开发者将一个布局文件嵌入到另一个布局文件中,实现布局的复用。这样做的好处在于,当多个视图需要共享同一部分设计时,可以避免代码冗余,提高代码维护性。例如,在上面的例子中,`include`标签...
在layout目录下新建摄像头布局文件activity_camera.xml,使用include标签来重用布局代码。创建摄像头监控布局文件时,需要在清单文件中声明访问网络权限。 ### 创建摄像头控制按钮布局文件 创建摄像头控制按钮布局...
在Android开发中,`<include>`标签是一种布局重用机制,它允许开发者将一个布局文件嵌入到另一个布局文件中,极大地提高了代码的可维护性和复用性。本篇文章将详细探讨`<include>`标签的使用方法、应用场景以及注意...
Struts Tiles框架是Java Web开发中的一个重要组成部分,主要用于构建可重用和模块化的Web应用程序页面布局。这个框架允许开发者将一个大的页面分解成多个小的、独立的部分,这些部分可以被单独设计、测试和重用,...
`<include>`是Android中的一个布局重用机制,允许开发者在一个布局文件中嵌入另一个布局文件。这样可以提高代码的可复用性和可读性,降低布局的复杂性。例如,如果你有一个通用的头部布局,可以在多个活动中通过`...
XML布局文件中的每个标签通常对应一个View的实例,而特殊标签如、<include>则提供额外的功能,比如合并多个布局文件,减少层级深度,提高渲染速度。 #### 四、掌握<include>和标签的使用 - `<include>`标签允许在...
在Android布局设计中,`include`标签是一种重要的代码重用机制,它允许开发者将一个布局文件包含到另一个布局文件中,从而提高代码的可维护性和减少重复工作。在这个项目中,我们可以深入理解`include`标签的使用...
"IncludeDemo.zip"这个压缩包文件很可能是为了演示如何在Android应用中使用`include`标签,这是一个在布局设计中经常用到的功能,它允许我们重用和组织XML布局文件。下面我们将深入探讨这个主题。 一、Android布局...
`<include>`标签允许开发者将一个XML布局文件嵌入到另一个布局文件中,以此达到组件化设计的目的。 首先,理解Android布局的基础是非常重要的。Android提供了多种UI构件,如TextView、Button、ImageView等,这些...
`<include>`标签则允许在多个布局文件中重用相同的视图结构。 为了优化布局性能,开发者需要注意以下几点: 1. **避免深度嵌套**:深嵌套的布局会导致绘制时间增加,影响用户体验。尽可能使用单一布局或合并布局来...