<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <com.yzh.lockpri2.widget.ScaledImageView android:id="@+id/imageBG" android:layout_width="match_parent" android:layout_height="match_parent"/> <FrameLayout android:layout_width="match_parent" android:layout_height="100dp" android:paddingBottom="5dp"> <com.yzh.lockpri2.widget.BluredImageView android:id="@+id/headerBg" android:layout_width="match_parent" android:layout_height="match_parent"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/welcome_title" android:layout_gravity="center" style="@style/welcome_bold_info_font" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/welcome_info" style="@style/welcome_little_info_font" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="3dp"/> </FrameLayout> <ViewStub android:id="@+id/keyboardStub" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="bottom" android:inflatedId="@+id/keyboard" layout="@layout/keyboard" /> </FrameLayout>@H_301_0@keyboard是另外一个xml中的布局,在视图中能正常显示. @H_301_0@然后在代码中:
stub = (ViewStub)findViewById(R.id.keyboardStub); stub.inflate();@H_301_0@
程序执行到 stub.inflate(); 报错 "ViewStub must have a valid layoutResource". 检查了半天, @H_301_0@才发现是在主xml中设置时使用了<include>标签的用法:
layout="@layout/keyboard"@H_301_0@正确的应该是:
android:layout="@layout/keyboard"@H_301_0@ 修改后,执行正常!