自定义VIEWGROUP的一个用法

 图片看http://www.curious-creature.org/2009/03/01/android-layout-tricks-3-optimize-part-1/


< 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 >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值