温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android笔记:测量控件宽高和动态设置控件宽高

发布时间:2020-04-23 04:14:26 来源:网络 阅读:1961 作者:glblong 栏目:移动开发

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,




























向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI