中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android 獲取View繪制前的高度

2018-07-20    來源:open-open

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用
在Android開發(fā)過程中,我們可能需要獲取View繪制前的高度或者寬度,一種的可能情形是我們初始化的時(shí)候讓某個(gè)View是Visible = Gone的,當(dāng)我們觸發(fā)某個(gè)事件的時(shí)候需要它顯示并且希望有一些動(dòng)畫效果。這時(shí)候我們就要獲取這個(gè)View顯示前即繪制前的寬度或者高度。原理很簡單,我 們知道,View的繪制過程發(fā)生之前,會(huì)先執(zhí)行onMeasure方法。那么我們就可以利用反射來或者我們需要的值。下面給出獲取高度的代碼,寬度同理。
private int getTargetHeight(View v) {

    try {
        Method m = v.getClass().getDeclaredMethod("onMeasure", int.class,
                int.class);
        m.setAccessible(true);
        m.invoke(v, MeasureSpec.makeMeasureSpec(
                ((View) v.getParent()).getMeasuredWidth(),
                MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(0,
                MeasureSpec.UNSPECIFIED));
    } catch (Exception e) {

    }
    return v.getMeasuredHeight();
}

拿到這個(gè)高度之后我們就可以做我們想做的動(dòng)畫效果或者是其他的事情了。

標(biāo)簽: 代碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:遍歷某文件夾下的所有文件和文件夾php代碼

下一篇:php實(shí)現(xiàn)base64的編碼和解碼