我最近才必須在Android佈局文件中設置xmlns屬性。最初,當我添加第三方控件時,控件的XML中的某些屬性沒有用於標識名稱空間的前綴。當我運行我的應用程序時,顯示控件,但那些沒有命名空間前綴的屬性被忽略。只有在將xmlns添加到文件頂部並向屬性添加前綴後,才能在運行時識別這些屬性。以下是更正後的代碼的樣子:瞭解Android佈局中的xmlns屬性
xmlns:fab="http://schemas.android.com/apk/res-auto"
<com.getbase.floatingactionbutton.FloatingActionButton
android:id="@+id/ivFAB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fab:fab_icon="@drawable/ic_fab_star"
fab:fab_colorNormal="@color/pink_500"
fab:fab_colorPressed="@color/pink_100"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"
android:visibility="visible"
/>
她的xmlns前綴是'fab'。我不明白的是,沒有名稱空間和前綴,應用程序編譯沒有任何錯誤。爲什麼Android Studio不會抱怨它找不到fab_icon?爲什麼它只是忽略這些屬性?我已經在不同的主題上看到了很多帖子,其中有人指出不用前綴,然後代碼工作。所以我不知道發生了什麼。在一些問題(像我的)有前綴是必需的,但在其他人不是?這是不同版本的Android Studio或SDK版本的問題嗎?
我的問題不是關於如何創建自定義屬性。這是關於理解使用xmlns屬性和前綴屬性的需要或缺乏。 – AndroidDev
如果您知道如何創建具有屬性的自定義視圖,那麼很容易理解是否需要這些屬性。現在考慮如果你有一個強制性的自定義屬性,如果你不提供它會發生什麼?你的觀點會被初始化嗎? –