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.