android 动态让控件超出屏幕_Android笔记:测量控件宽高和动态设置控件宽高

1.测算控件宽高

初始化UI时,无法直接通过getWidth()或getHeight()获取到控件的宽度或高度。可采用定时测算去获取控件的宽度/高度,方法如下://每隔10毫秒测算一次宽度,直到测算完毕

mMeasureAction = new Runnable()

{

@Override

public void run()

{

if (mLayout_map.getWidth() != 0)

{

Log.i("w", mLayout_map.getWidth() + "");

Log.i("h", mLayout_map.getHeight() + "");

}

else

{

mLayout_map.postDelayed(mMeasureAction, 10);

}

}

};

mLayout_map.postDelayed(mMeasureAction, 10);

参考资料:http://blog.163.com/zhaolin53636848@126/blog/static/490866682012065373798/

2.动态修改控件的宽高

比如,将p_w_picpathview的宽度改为200,高度改为宽度的3/4。其中RelativeLayout是p_w_picpathview的父布局,方法如下:import android.widget.RelativeLayout.LayoutParams;

int imgWeight = 200;

RelativeLayout.LayoutParams sp_params = new RelativeLayout.LayoutParams(

LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

sp_params.width = imgWeight;

sp_params.height = imgWeight * 3 /4 ;

p_w_picpathView.setLayoutParams(sp_params);

参考资料:http://www.linuxidc.com/Linux/2011-09/43132p2.htm,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值