Include usage example, include + merge usage example, includemerge
[Include + LinearLayout] example
AndroidIncludeLayout. java
package com.AndroidIncludeLayout; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class AndroidIncludeLayout extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); View subLayout1 = (View)findViewById(R.id.main1); View subLayout2 = (View)findViewById(R.id.main2); Button myButton_main1 = (Button)subLayout1.findViewById(R.id.mybutton); Button myButton_main2 = (Button)subLayout2.findViewById(R.id.mybutton); Button startAnotherActivity = (Button)findViewById(R.id.startanotheractivity); startAnotherActivity.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(AndroidIncludeLayout.this, AnotherActivity.class); startActivity(intent); }}); myButton_main1.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub Toast.makeText(AndroidIncludeLayout.this, "Button 1 Pressed", Toast.LENGTH_LONG).show(); }}); myButton_main2.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub Toast.makeText(AndroidIncludeLayout.this, "Button 2 Pressed", Toast.LENGTH_LONG).show(); }}); } }
Mail. xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <include android:id="@+id/main1" layout="@layout/sublayout" /> <include android:id="@+id/main2" layout="@layout/sublayout" /> <Button android:id="@+id/startanotheractivity" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Start Another Activity " /> </LinearLayout>
Sublayout. xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#505050" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="SubLayout" /> <Button android:id="@+id/mybutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text=" A Button " /> </LinearLayout>
[Include + merge] // different from the above include usage
LightActivity. java
/*** Copyright (c) 2014-2015 ChinaYong Hotel Media Technology Co ., ltd. * All Rights Reserved. ** Filename: LightActivity. java * Author: Seldy lipeineng * Creation time: 10:58:53 am-* Description: */package com. hysmarthotel. roomcontrol; import com. hysmarthotel. util. logUtil; import com. hysmarthotel. view. temperature; import android. app. activity; import android. OS. bundle; import android. view. view; import android. widget. textView; // lighting control public class LightActivity extends Activity {public static Temperature temp; @ Override public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. light); temp = (Temperature) findViewById (R. id. temperature_light); // in particular, you can directly call the id in merge step by step. You do not need to use include to call log ("layout1" + temp); init ();} private void init () {temp. setTemperature (MainActivity. mTemp + "");} private void log (String msg) {LogUtil.info (this. getClass (), this + ":" + msg, "I ");}}
Light. xml
<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg1" > <TextView android:id="@+id/lightctrl" android:layout_x="91.5px" android:layout_y="93.0px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" android:textSize="42.0px" android:textColor="#fff3e3d1" android:text="@string/light_ctrl" android:drawableLeft="@drawable/ic_light_t" android:drawablePadding="6px"/> <include android:id="@+id/include1" layout="@layout/time_temp"/> </AbsoluteLayout>
Time_temp.xml
<?xml version="1.0" encoding="utf-8"?><merge xmlns:android="http://schemas.android.com/apk/res/android"xmlns:hyhotel="http://schemas.android.com/apk/res/com.hysmarthotel.roomcontrol" ><com.hysmarthotel.view.Temperatureandroid:id="@+id/temperature_light"android:layout_x="1545.0px"android:layout_y="109.5px"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="22.5px"android:textColor="#fff3e3d1"hyhotel:prefix="@string/room_temp"hyhotel:unit="@string/celsius" /></merge>