1.測算控件寬高
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:成都網(wǎng)站設計、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的深澤網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
初始化UI時,無法直接通過getWidth()或getHeight()獲取到控件的寬度或高度??刹捎枚〞r測算去獲取控件的寬度/高度,方法如下:
//每隔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.動態(tài)修改控件的寬高
比如,將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,