亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

android如何獲取view寬高

小億
84
2024-09-03 19:05:31
欄目: 編程語言

在Android中,獲取View的寬高需要在View布局完成后進行。可以通過以下方法獲取View的寬高:

  1. 使用ViewTreeObserver

在View創建完成后,可以使用ViewTreeObserver來監聽View的布局變化。當View的寬高發生變化時,會回調OnGlobalLayoutListener接口。這時可以獲取到View的寬高。

示例代碼:

final View view = findViewById(R.id.your_view);
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        // 獲取View的寬高
        int width = view.getWidth();
        int height = view.getHeight();

        // 執行你需要的操作

        // 移除監聽器,避免重復回調
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
        } else {
            view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
        }
    }
});
  1. 使用View.post()方法:

可以使用View.post()方法將一個Runnable對象加入到View的消息隊列中。當View的寬高已經確定時,Runnable對象會被執行。

示例代碼:

final View view = findViewById(R.id.your_view);
view.post(new Runnable() {
    @Override
    public void run() {
        // 獲取View的寬高
        int width = view.getWidth();
        int height = view.getHeight();

        // 執行你需要的操作
    }
});

請注意,這兩種方法都需要在View布局完成后才能獲取到正確的寬高。因此,務必在合適的時機調用這些方法。

0
广德县| 河南省| 台东市| 西贡区| 广西| 阳曲县| 宁安市| 广汉市| 四会市| 安丘市| 丘北县| 涟源市| 绍兴市| 娄烦县| 正宁县| 濉溪县| 太仆寺旗| 南雄市| 通河县| 镇康县| 图片| 固安县| 巩义市| 津市市| 岐山县| 卫辉市| 汤阴县| 桃江县| 手游| 浙江省| 晋江市| 咸丰县| 清新县| 凤城市| 延庆县| 克东县| 凤阳县| 信宜市| 兴化市| 隆化县| 遵义市|