android獲取控件寬高

開發(fā)中經(jīng)常遇到要在oncreate()中獲取控件寬高,一般的 view.getwidth()總是獲取到的值為零,怎樣才能在oncreate()中處理獲得控件寬高呢,下面具體講講。
本篇文章參考以下鏈接:
android獲取屏幕寬高與獲取控件寬高
在此表示感謝!

直接上獲取控件寬高方法的代碼吧,

/**
 * Instruction:控件相關(guān)工具類
 * <p>
 * Author:pei
 * Date: 2017/7/3
 * Description:
 */


public class ViewUtil {

    public static void getViewWidth(final View view, final OnViewListener onViewListener) {
        ViewTreeObserver vto2 = view.getViewTreeObserver();
        vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                if(onViewListener!=null){
                    onViewListener.onView(view.getWidth(),view.getHeight());
                }
            }
        });
    }

    public interface OnViewListener {
        void onView(int width,int height);
    }
}

在MainActivity的OnCreate()中的調(diào)用如下:

TextView textView=(TextView)findViewById(R.id.textView);
 ViewUtil.getViewWidth(textView, new ViewUtil.OnViewListener() {
            @Override
            public void onView(int width, int height) {
                  //執(zhí)行邏輯代碼
                  //......
            }
        });

ok,其實獲取控件寬高的代碼并不難,之前也整理過,以為寫過文章呢,結(jié)果在csdn上翻翻沒有,就再記錄下,算是筆記吧,方便以后查閱,謝謝誒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容