动态添加布局,下面直接看例子代码:
第一步:这里写了一个空的布局,待会就会把另外的布局添加到这个上面,注意这个布局里的LinearLayout的 id:view_weather_data
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.a15083.suitcase.TravelWeatherActivity">
<LinearLayout
android:id="@+id/view_weather_data"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
第二步:另外创建一个XML文件,作为子布局添加到上面的空布局里面去:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal">
<TextView
android:id="@+id/tv_set_travel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是一个测试用的布局"
android:textSize="17sp" />
</RelativeLayout>
第三步:在第一步里对应的activity里将布局添加进去:
LinearLayout view_data=(LinearLayout)findViewById(R.id.view_weather_data);//将空的布局对象创建出来
LayoutInflater inflater=this.getLayoutInflater();//创建Inflater对象
RelativeLayout view_no_data=(RelativeLayout)inflater.inflate(R.layout.view_no_data,null);//待添加的布局对象
view_data.addView(view_no_data);//将布局添加进去