Its not great but what I have been doing is using includes and redefining
the include in the application project. You can still define the attribute
in the library project, you can use simple framelayouts or whatever to
define a fake placeholder layout in the library project, then in the
application project define the real view. When compiling the real view in
the application project it will override the library project. This allows
the code to compile with the R.syles stuff in the lirbary, yet still have
the views work too.
Best of luck, its kludgy but workable.
Adam
<< Library >>
res/values/attrs.xml:
<resources>
<declare-styleable name="MyWidget">
<attr name="customValue" format="integer"/>
</declare-styleable>
</resources>
res/layout/myWidget.xml
<TextView
android:id="@+id/my_widget"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Replace Me"/>
res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<include layout="@layout/myWidget.xml" android:id="@+id/my_widget" />
</LinearLayout>
<< App Project>>
res/layout/myWidget.xml
<com.mycompany.test.lib.MyWidget xmlns:android="
http://schemas.android.com/apk/res/android"
xmlns:my="http://schemas.android.com/apk/res/
android:id="@+id/my_widget"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
my:customValue="324"/>
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en