Android——ViewGroup的一个用法实例

找了很久,终于找到了。

<?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

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:

<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>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。