You're right using
http://android-developers.blogspot.com/2009/03/android-layout-tricks-3-optimize-by.html
!

On Mar 29, 4:14 pm, Mark Murphy <mmur...@commonsware.com> wrote:
> arnouf wrote:
> > Hi all,
>
> > I'm trying to create a component using an xml layout file.
>
> > I defined a layout with some custom attributes. This layout is
> > inflated  when user add it inside another layout. My problem is I
> > don't know the parent, so I pass null for the parent viewgroup when I
> > call inflate method.
>
> You need to be the parent. You cannot inflate things into an ordinary View.
>
>
>
>
>
> > I think that's the reason why I see anything in my view.
> > Do you know how can I do (I don't want to redefine onDraw method
> > because I use existing component)
>
> > Below my xml layout and my custome class.
>
> > <RelativeLayout
> >     xmlns:android="http://schemas.android.com/apk/res/android";
> >     android:layout_width="wrap_content"
> >     android:layout_height="wrap_content">
>
> >     <ImageView
> >         android:id="@+id/img_btn_option"
> >         android:layout_width="wrap_content"
> >         android:layout_height="wrap_content"/>
>
> >     <TextView
> >         android:id="@+id/txt_btn_option"
> >         android:layout_width="wrap_content"
> >         android:layout_height="wrap_content"
> >         android:layout_toRightOf="@id/img_btn_option"
> >         android:textColor="@color/font_white"
> >         android:textStyle="bold"/>
>
> > </RelativeLayout>
> > ************************************************
> > public class ButtonOptionsView extends View {
>
> >    public ButtonOptionsView(Context context, AttributeSet attrs) {
> >            super(context, attrs);
> >            LayoutInflater li =
> > (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
> >            RelativeLayout vg =
> > (RelativeLayout)li.inflate(R.layout.button_option, null);
> >            TypedArray ta =
> > getContext().obtainStyledAttributes(attrs,R.styleable.ButtonOption);
>
> > ((ImageView)vg.findViewById(R.id.img_btn_option)).setImageResource(ta.getRe 
> > sourceId(R.styleable.ButtonOption_image,
> > 0));
>
> > ((TextView)vg.findViewById(R.id.txt_btn_option)).setText(ta.getResourceId(R 
> > .styleable.ButtonOption_text,
> > 0));
> >    }
>
> Make ButtonOptionsView extend RelativeLayout, and replace the
> <RelativeLayout> in your XML with <merge>. Then, inflate into yourself.
>
> --
> Mark Murphy (a Commons 
> Guy)http://commonsware.com|http://twitter.com/commonsguy
>
> _The Busy Coder's Guide to *Advanced* Android Development_
> Version 1.4 Available!

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

To unsubscribe from this group, send email to 
android-developers+unsubscribegooglegroups.com or reply to this email with the 
words "REMOVE ME" as the subject.

Reply via email to