스타일에 앱 네임 스페이스 사용


103

더 큰 요점을 보여주는 예를 들어 보겠습니다.

내 앱에 여러 FloatingActionButton이 있다고 상상해보십시오. 따라서 하나의 스타일을 만들어 재사용하고 싶습니다. 그래서 다음을 수행합니다.

<style name="FabStyle” parent ="Widget.Design.FloatingActionButton">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_margin">16dp</item>
    <item name="app:backgroundTint">@color/accent</item>
    <item name="app:layout_anchorGravity">end|bottom</item>
</style>

내가 가지고있는 문제는 불평하기 때문에 코드가 컴파일되지 않는다는 것입니다.

Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.

resources태그 를 통해 네임 스페이스를 가져 오려고했지만 작동하지 않습니다.

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

이걸 어떻게 작동시킬 수 있는지 아이디어가 있습니까?


답변:


229

들어 app네임 스페이스를 지정할 필요가 없습니다 app:<property name>. 그냥 <property name>충분하다.

예를 들면

<style name="FabStyle" parent="Widget.Design.FloatingActionButton"> 
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_margin">16dp</item>
    <item name="backgroundTint">@color/accent</item>
    <item name="layout_anchorGravity">end|bottom</item>
</style>

그리고 layout_anchorGravity플로팅 작업 버튼을 정의하는 XML 파일에서 설정해야합니다.


대박! 도움을 주셔서 감사합니다. 사소한 수정 : layout_anchorGravity스타일 페이지에서도 정의 할 수 있습니다. 그것은으로 작동<item name="layout_anchorGravity">end|bottom</item>
누벨 Travay

당신은 하루를 구했습니다! 그리고 로컬로 정의 할 것은 layout_anchor. +1!
Nouvel Travay
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.