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

Reply via email to