Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 【Android】獲取控件的寬和高

【Android】獲取控件的寬和高

編輯:關於android開發

【Android】獲取控件的寬和高


有時候我們需要在Activity的時候獲取控件的寬和高來做一些操作,下面介紹三種獲取寬和高的方式:

1. onWindowFocusChanged

@Override
    public void onWindowFocusChanged(boolean hasFocus)
    {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus)
        {
            int width = image.getMeasuredWidth();
            int height = image.getMeasuredHeight();
            Toast.makeText(MainActivity.this, "width = " + width + "---height = " + height, Toast.LENGTH_SHORT).show();
        }

    }

2. post方式

 @Override
    protected void onStart()
    {
        super.onStart();

        image.post(new Runnable()
        {

            @Override
            public void run()
            {
                int width = image.getMeasuredWidth();
                int height = image.getMeasuredHeight();
                Toast.makeText(MainActivity.this, "onstart--width = " + width + "---height = " + height, Toast.LENGTH_SHORT).show();
            }
        });
    }

3. ViewTreeObserver

 ViewTreeObserver observer = image.getViewTreeObserver();
        observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener()
        {

            @Override
            public void onGlobalLayout()
            {
                image.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                int width = image.getMeasuredWidth();
                int height = image.getMeasuredHeight();
                Toast.makeText(MainActivity.this, "onglobal--width = " + width + "---height = " + height, Toast.LENGTH_SHORT).show();
            }
        });

備注:以上image是ImageView控件

ImageView image = (ImageView)findViewById(R.id.image);

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved