gpt4 book ai didi

java - onSizeChanged 返回宽度,但不返回高度

转载 作者:太空狗 更新时间:2023-10-29 13:37:53 25 4
gpt4 key购买 nike

我需要获取 View 的高度和宽度,并且我已经按照此处给出的示例对 View 进行子类化并使用 onSizeChanged(...)。但非常奇怪的是 onSizeChanged 给我正确的宽度,但高度始终为 0。这是我的子类:

public class MyView extends TextView {
int xMax=0; int yMax=0;Context c;

public MyView(Context context) {
super(context);
this.c=context;

}
@Override
public void onSizeChanged(int w, int h, int oldW, int oldH) {

xMax = w;
yMax = h;

我的 Activity 类:

public void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView dummyView = new MyView(this);

LinearLayout ll = (LinearLayout) findViewById(R.id.mainmtc);
ll.addView(dummyView);

和我的 XML 布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainmtc" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:weightSum="1"
androiad:orientation="vertical">

最佳答案

我觉得很正常,你的view里面没有内容所以高度为0

尝试在自定义 TextView 中添加一些文本,高度会发生变化

TextView dummyView = new MyView(this);
dummyView.setText("Hello");

设备屏幕尺寸:http://developer.android.com/reference/android/util/DisplayMetrics.html

关于java - onSizeChanged 返回宽度,但不返回高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8777337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com