簡體   English   中英

onSizeChanged返回寬度,但不返回高度

[英]onSizeChanged returns width, but not height

我需要獲得我的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">

我認為這是正常的,你的視圖中沒有內容所以高度為0。

嘗試在自定義textview中添加一些文本,高度會發生變化

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

設備屏幕尺寸: http//developer.android.com/reference/android/util/DisplayMetrics.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM