2011-07-01 31 views

回答

4

使用getWidth()onWindowFocusChanged的ListView getHeight()方法獲取寬度和高度。

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 


    System.out.println("Width:" + listview.getWidth()); 
    System.out.println("Height:" + listview.getHeight()); 

} 
+0

我在這裏把這段代碼。我認爲在創建方法。 – naresh

2

要得到任何鑑於當前的寬度和高度,你需要設置onLayoutChange聽衆

public class MainActivity extends Activity implements OnLayoutChangeListener { 

    private View newView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     newView = getLayoutInflater().inflate(R.layout.main_activity, null); 
     newView.addOnLayoutChangeListener(this); 
     setContentView(newView); 
    } 

    public void onLayoutChange(View v, int left, int top, int right, 
      int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { 
     //Here you can get size of you ListView, e.g: 
     mylistView.getWidth(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     newView.removeOnLayoutChangeListener(this); 
    } 
} 

27Nov15 - 這是一個很好的答案,我想你應該釋放資源太雖然。這對於一個Activity來說可能沒有多大關係,但是同樣的方法可以被更多的頻繁使用的碎片所使用。

相關問題