当前位置: 代码迷 >> Android >> include的用法例证,以及include+merge的用法例子
  详细解决方案

include的用法例证,以及include+merge的用法例子

热度:86   发布时间:2016-04-24 11:41:50.0
include的用法例子,以及include+merge的用法例子

【include+LinearLayout】的使用例子

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】   //与上面的include用法有点不一样

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 - 2015-6-4 * 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;//灯光控制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);  //特殊的地方是,可以直接一步调用merge中的id,不用通过include,再去调用        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>

 

  相关解决方案