Wie erhält man die Dimensionen einer Ansicht?

Ich habe einen Blick aus tablelayout, tablerows und textviews. Ich möchte, dass es aussieht wie ein Gitter. Ich brauche, um die Höhe und Breite dieses Rasters. Die Methoden getheight() und getwidth() immer 0 zurück. Dies geschieht, wenn ich das format des Rasters dynamisch und auch wenn ich eine xml-version.

So rufen Sie die Abmessungen für eine Ansicht?


Hier ist mein test-Programm, das ich verwendet Debuggen, um zu überprüfen, die Ergebnisse:

import android.app.Activity;
import android.os.Bundle;
import android.widget.TableLayout;
import android.widget.TextView;

public class appwig extends Activity {  
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.maindemo);  //<- includes the grid called "board"
      int vh = 0;   
      int vw = 0;

      //Test-1 used the xml layout (which is displayed on the screen):
      TableLayout tl = (TableLayout) findViewById(R.id.board);  
      tl = (TableLayout) findViewById(R.id.board);
      vh = tl.getHeight();     //<- getHeight returned 0, Why?  
      vw = tl.getWidth();     //<- getWidth returned 0, Why?   

      //Test-2 used a simple dynamically generated view:        
      TextView tv = new TextView(this);
      tv.setHeight(20);
      tv.setWidth(20);
      vh = tv.getHeight();    //<- getHeight returned 0, Why?       
      vw = tv.getWidth();    //<- getWidth returned 0, Why?

    } //eof method
} //eof class

InformationsquelleAutor der Frage | 2010-11-10

Schreibe einen Kommentar