日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android 动态设置View的高度和宽度,ViewTreeObserver使用

發(fā)布時(shí)間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 动态设置View的高度和宽度,ViewTreeObserver使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
private int mMonitorHeight = 0; private int mMonitorWidth = 0; private boolean bisSetScreen = false;

?動(dòng)態(tài)設(shè)置滿屏寬度

?

ViewTreeObserver vto2 = monitor.getViewTreeObserver(); vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){@Overridepublic void onGlobalLayout(){if(bisSetScreen == false){mMonitorHeight = monitor.getMeasuredHeight();mMonitorWidth = monitor.getWidth();if(mMonitorHeight != 0 && mMonitorWidth != 0){monitor.setScreenSize(mMonitorWidth, mMonitorHeight);bisSetScreen = true;}}} });

LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) TextView.getLayoutParams(); //取控件textView當(dāng)前的布局參數(shù)linearParams.width = 40;// 控件的寬強(qiáng)制設(shè)成30 linearParams.height =40;// 控件的高強(qiáng)制設(shè)成20TextView.setLayoutParams(linearParams);

/*** 重設(shè) view 的寬高*/ public static void setViewLayoutParams(View view, int nWidth, int nHeight) {ViewGroup.LayoutParams lp = view.getLayoutParams();if (lp.height != nHeight || lp.width != nWidth) {lp.width = nWidth;lp.height = nHeight;view.setLayoutParams(lp);} }

自動(dòng)屬性長(zhǎng)度

ViewGroup.LayoutParams.WRAP_CONTENT ViewGroup.LayoutParams.MATCH_PARENT

?控件的邊距

RelativeLayout.LayoutParams linearParams2 =(RelativeLayout.LayoutParams) top2.getLayoutParams(); //取控件textView當(dāng)前的布局參數(shù) linearParams2.topMargin =450;// 控件的邊距 top2.setLayoutParams(linearParams2);

動(dòng)態(tài)設(shè)置列表高度

LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) activityOneRecyclerView.getLayoutParams(); //取控件textView當(dāng)前的布局參數(shù) linearParams.height = UIUtils.dip2px(98)*6;//98是item高度。6是item數(shù)量

工具方法:

/*** 將dip或dp值轉(zhuǎn)換為px值,保證尺寸大小不變*/ public static int dip2px(Context context, float dipValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dipValue * scale + 0.5f); }

總結(jié)

以上是生活随笔為你收集整理的android 动态设置View的高度和宽度,ViewTreeObserver使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。