Android笔记:测量控件宽高和动态设置控件宽高-创新互联

1.测算控件宽高

创新互联于2013年开始,是专业互联网技术服务公司,拥有项目网站制作、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元故城做网站,已为上家服务,为故城各地企业和个人服务,联系电话:13518219792

 初始化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,

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:Android笔记:测量控件宽高和动态设置控件宽高-创新互联
本文地址:http://pwwzsj.com/article/hecoi.html