程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-檢索視圖的規模尺寸問題

android-檢索視圖的規模尺寸問題

編輯:編程綜合問答
檢索視圖的規模尺寸問題

我有一個視圖由tablelayout、tablrows和textviews組成。看起來像一個網格。我需要得到這個網格的高度和寬度。當我動態的格式化網格或使用xml版本時,方法getheight() and getwidth()總是返回0。
誰能告訴我如何檢索一個試圖的尺寸規模?
以下是我在Debug的測試程序:

    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);  
          int vh = 0;    
          int vw = 0; 

          TableLayout tl = (TableLayout) findViewById(R.id.board);   
          tl = (TableLayout) findViewById(R.id.board); 
          vh = tl.getHeight();       
          vw = tl.getWidth();       

          TextView tv = new TextView(this); 
          tv.setHeight(20); 
          tv.setWidth(20); 
          vh = tv.getHeight();       
          vw = tv.getWidth();    
        } 
} 

最佳回答:


把這些代碼添加到onCreate()方法:

final TextView tv = (TextView)findViewById(R.id.image_test);
    ViewTreeObserver vto = tv.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
            LayerDrawable ld = (LayerDrawable)tv.getBackground();
            ld.setLayerInset(1, 0, tv.getHeight() / 2, 0, 0);
            ViewTreeObserver obs = tv.getViewTreeObserver();
            obs.removeGlobalOnLayoutListener(this);
        }

    });
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved