app:something ...什么是app:?

时间:2015-01-05 12:21:38

标签: android xml android-layout android-viewpager viewpagerindicator

我在我的项目中使用this famous ViewPagerIndicator library。我想在ViewPageIndicator上添加颜色。我找到了here on StackOverflow的解决方案。

<com.viewpagerindicator.CirclePageIndicator
    android:id="@+id/indicator"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    app:fillColor="#FF888888"
    app:pageColor="#88FF0000"
    app:strokeColor="#FF000000" />

但有一件事我在这里无法理解:为什么写成app:而不是android:app:是什么意思?我从未使用app:?它的命名空间是什么?我用谷歌搜索,但没有找到解决方案。

2 个答案:

答案 0 :(得分:1)

对于命名空间,请添加:xmlns:app="http://schemas.android.com/apk/res-auto" 应用程序命名空间用于所有&#39;新&#39;属性。例如:如果我创建一个自定义视图,它有自己的属性(让我们说具有新属性的RainbowView&#39; numberOfColors&#39;),那么我必须在app命名空间中使用该属性,因为它不是& #39;在android命名空间中声明。因此,请将app命名空间用于所有自定义属性。要么是你自己定义的,要么是添加了一个库的作者(在你的情况下为CirclePageIndicator)。但大多数时候,当你开始输入“strokeCo ...”时,你看到了'strokeColor&#39;在自动完成列表中,命名空间将在您选择时自动添加。

答案 1 :(得分:0)

可能您只需要添加缺少的命名空间:

xmlns:app="http://schemas.android.com/apk/res-auto"

或者看看这个引用库的答案:

How can I set up custom namespaces in layout file in Android studio?