2017-08-15 70 views
5

在AndroidStudio中的xml文件我不明白項目與android前綴和項目之間的區別沒有它 我的源代碼的一部分例如:在xml上使用android前綴(android :, app:,@ ..,...)

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:textColorPrimary">@color/white</item> 
    <item name="android:textColorSecondary">@color/white</item> 
    <item name="actionMenuTextColor">@color/white</item> 
</style> 

<style name="AppTheme.toolbar" parent="Widget.AppCompat.Toolbar"> 
    <item name="android:background">@color/grey</item> 
</style> 

在這個xml文件裏爲什麼有些屬性想要前綴(android :)等等不是。 的例子:

<item name="android:textColorPrimary">@color/white</item> 

這部分代碼工作正常,但在下面的代碼時,它不工作: <item name="textColorPrimary">@color/white</item> 因此,誰能幫助我知道該前綴之間的差異,以及當我使用它。謝謝

+0

還討論在https://stackoverflow.com/questions/8845565/what-is-android-prefix-mean-in-android-framework-res-module – smora

回答

0

這是因爲其中一些屬性來自不同的XML名稱空間。 在佈局文件,你可能已經看到過類似:

<Linear Layout 
xmlns:android="http://schemas.android.com/apk/res/android"> 

您需要一種方法來告訴你會被從該位置引用屬性的編譯器和你這樣做與

"android:" 
+0

感謝您的答案 – Ric868