I made a custom attribute style as
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="EffectsTextView">
<attr name="strokeWidth" format="float" />
<attr name="strokeMiter" format="float" />
<attr name="strokeColor" format="color" />
</declare-styleable>
</resources>
In Layout file, I could use this custom attribute assigning a namespace for this attribute:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:effects="http://schemas.android.com/apk/res-auto/com.base.view.EffectsTextView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#40000000" >
<com.base.view.EffectsTextView
android:id="@+id/textView1"
android:layout_width="290dip"
android:layout_height="80dip"
android:layout_marginLeft="5dip"
android:layout_marginTop="16dip"
android:gravity="center"
android:text="SETTINGS"
android:textSize="44dip"
android:textStyle="bold"
effects:strokeWidth="10" /> <--- custom tag "effects"
However it was not recognizing this custom tag in styles.xml
<style name="EffectsHeaderTextStyle">
<item name="effects:strokeWidth">10</item>
</style>
Error: No resource found that matches the given name, effects, though I put the namespace same as I did in RelativeLayout file.
Any ideas? Thanks
Best Answer
Change your XML to:
And change your style:
I did something similar with fonts:
https://github.com/androidfu/CodeExamples/tree/master/com.androidfu.CustomFontsDemo