Dmy*_*lyk 45
Display display = getWindowManager().getDefaultDisplay();
View view = findViewById(R.id.YOUR_VIEW_ID);
view.measure(display.getWidth(), display.getHeight());
view.getMeasuredWidth(); // view width
view.getMeasuredHeight(); //view height
Run Code Online (Sandbox Code Playgroud)
San*_*hav 30
@dmytrodanylyk - 我认为它将返回宽度和高度为0所以你需要使用以下内容
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentview = inflater.inflate(R.layout.YOURLAYOUTNAME, null, false);
contentview.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int width = contentview.getMeasuredWidth();
int height = contentview.getMeasuredHeight();
Run Code Online (Sandbox Code Playgroud)
它会给你正确的高度和宽度.
Adr*_*ano 11
您应该使用OnGlobalLayoutListener在视图上调用的更改,但在绘制之前.
costumView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
costumView.getWidth();
}
});
Run Code Online (Sandbox Code Playgroud)
小智 10
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
view.measure(size.x, size.y);
int width = view.getMeasuredWidth();
int height = view.getMeasuredHeight();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21311 次 |
| 最近记录: |