找了很久,终于找到了。
Xml代码
class="star" src="/Upload/Images/2014092810/40B102E0EF997EA6.png" alt="收藏代码" />
- <?xml version="1.0" encoding="UTF-8" ?>
- <merge xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:okCancelBar="http://schemas.android.com/apk/res/com.example.android.merge">
- <ImageView
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:scaleType="center"
- android:src="@drawable/golden_gate"
-
- />
- <com.example.android.merge.OkCancelBar
-
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom"
- android:paddingTop="8dip"
- android:gravity="center_horizontal"
- android:background="#AA000000"
- okCancelBar:okLabel="Save"
- okCancelBar:cancelLabel="Don't save"
- />
- </merge>
com.example.android.merge.OkCancelBar是一个自定义的GROUP
Java代码
- public class OkCancelBar extends LinearLayout{
-
- public OkCancelBar(Context context,AttributeSet attrs){
-
- super(context, attrs);
-
- setOrientation(HORIZONTAL);
-
- setGravity(Gravity.CENTER);
-
- setWeightSum(1.0f);
-
- LayoutInflater.from(context).inflate(R.layout.okcancelbar,this,true);
-
-
- TypedArray array= context.obtainStyledAttributes(attrs, R.styleable.OkCancelBar,0,0);
-
-
- String text= array.getString(R.styleable.OkCancelBar_okLabel);
-
- if(text==null) text="Ok";
-
- ((Button) findViewById(R.id.okcancelbar_ok)).setText(text);
- text= array.getString(R.styleable.OkCancelBar_cancelLabel);
-
- if(text==null) text="Cancel";
-
- ((Button) findViewById(R.id.okcancelbar_cancel)).setText(text);
-
-
- array.recycle();
-
-
- }
- }
LayoutInflater.from(context).inflate(R.layout.okcancelbar,this,true);
直接从XML中得到一个VIEW加入到当前GROUP中
okcancelbar.xml:
Xml代码
- <merge xmlns:android="http://schemas.android.com/apk/res/android">
-
- <include layout="@layout/okcancelbar_button" android:id="@+id/okcancelbar_ok"/>
- <include layout="@layout/okcancelbar_button" android:id="@+id/okcancelbar_cancel"/>
-
- </merge>