merge的使用

这里呢我想实现的功能就是屏幕上方是一个固定的logo标识,下方呢是不同的控件,而且多个屏都要使用同一个logo

为了节省资源使用merge

public View getCommonLayout(LayoutInflater inflater, int contentLayout){

  LinearLayout commonLyt = (LinearLayout)inflater.inflate(R.layout.lay_common, null);
  inflater.inflate(contentLayout, commonLyt,true);
  
  ImageView logo = (ImageView)  commonLyt.findViewById(R.id.Logo);
  logo.setBackgroundResource(getLogo());
  return commonLyt;
 }

R.layout.lay_common

 

 

<?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" android:gravity="center_horizontal"
 android:background="@drawable/smoke40">

 <ImageView android:id="@+id/Logo" android:layout_width="wrap_content"
  android:layout_height="wrap_content" android:layout_marginTop="20px"
  android:layout_marginBottom="10px" />
  

</LinearLayout>

 

上面呢就是建立了一个屏幕上方的logo

然后就可以加载其他的了

 

 

LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  setContentView(getCommonLayout(inflater,R.layout.lay_content_main));

 

<?xml version="1.0" encoding="utf-8"?>

<merge xmlns:android="http://schemas.android.com/apk/res/android">
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:layout_height="wrap_content">
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical" android:layout_width="fill_parent"
   android:layout_height="fill_parent" android:gravity="center_horizontal">
   <Spinner android:id="@+id/TypeSpinner" android:layout_width="wrap_content"
    android:layout_height="wrap_content" style="@layout/cigar_row" />

   <Button android:id="@+id/SaveButton" android:text="Save"
    android:layout_width="wrap_content" android:layout_height="wrap_content" />

   <Button android:id="@+id/ViewListButton" android:text="View List"
    android:layout_width="wrap_content" android:layout_height="wrap_content" />

   <CheckBox android:id="@+id/olvidado" android:text="Se me olvido"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:clickable="true" />

   <TimePicker android:id="@+id/CuandoFumadoPicker"
    android:visibility="gone" android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

   <Button android:id="@+id/DevelopingButton" android:text="Developing"
    android:layout_width="wrap_content" android:layout_height="wrap_content" />
  </LinearLayout>
 </ScrollView>
</merge>

你可能感兴趣的:(android,xml)