在Android AOSP 4.4.2中找不到属性layout_childtype的资源标识符

时间:2014-10-31 19:41:03

标签: android android-layout android-activity android-fragments android-source

我正在研究android源代码4.4.2。我试图在框架/ base /中的Keyguard模块中添加一个新的布局文件,我得到以下错误。

frameworks/base/packages/Keyguard/res/layout-land/keyguard_host_view_ads.xml:57: error: No resource identifier found for attribute 'layout_childType' in package 'android'
frameworks/base/packages/Keyguard/res/layout-land/keyguard_host_view_ads.xml:64: error: No resource identifier found for attribute 'layout_centerWithinArea' in package 'android'

密钥guard_host_view_ads.xml的新源文件如下所示:

<com.android.keyguard.KeyguardHostView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/res/android"
android:id="@+id/keyguard_host_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<com.android.keyguard.MultiPaneChallengeLayout
    android:id="@+id/multi_pane_challenge"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false"
    android:orientation="vertical">

    <include layout="@layout/keyguard_widget_remove_drop_target"
        android:id="@+id/keyguard_widget_pager_delete_target"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top|center_horizontal"
        androidprv:layout_childType="pageDeleteDropTarget" />

    <include layout="@layout/keyguard_widget_pager"
        android:id="@+id/app_widget_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        androidprv:layout_centerWithinArea="0.5"
        androidprv:layout_childType="widget"
        androidprv:layout_maxWidth="480dp"
        androidprv:layout_maxHeight="480dp" />

    <include layout="@layout/keyguard_multi_user_selector"/>

    <View android:layout_width="match_parent"
          android:layout_height="match_parent"
          androidprv:layout_childType="scrim"
          android:background="#99000000" />

    <com.android.keyguard.KeyguardSecurityContainer
        android:id="@+id/keyguard_security_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        androidprv:layout_centerWithinArea="0.5"
        androidprv:layout_childType="challenge"
        android:layout_gravity="center_horizontal|bottom">
        <com.android.keyguard.KeyguardSecurityViewFlipper
            android:id="@+id/view_flipper"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clipChildren="false"
            android:clipToPadding="false"
            android:paddingLeft="@dimen/keyguard_security_view_margin"
            android:paddingTop="@dimen/keyguard_security_view_margin"
            android:paddingRight="@dimen/keyguard_security_view_margin"
            android:paddingBottom="@dimen/keyguard_security_view_margin"
            android:gravity="center">
        </com.android.keyguard.KeyguardSecurityViewFlipper>
    </com.android.keyguard.KeyguardSecurityContainer>

</com.android.keyguard.MultiPaneChallengeLayout>

有人可以解释android和androidprv之间的区别吗?

如何解决此问题?

2 个答案:

答案 0 :(得分:2)

命名空间androidprv被错误地分配。这是正确的链接。

xmlns:androidprv="http://schemas.android.com/apk/res/com.android.keyguard"

答案 1 :(得分:0)

你也可以使用它。

xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"