91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
运城市| 九台市| 花莲市| 扎兰屯市| 绥中县| 桦甸市| 抚顺县| 新密市| 安达市| 酒泉市| 诸城市| 宝山区| 宾川县| 石阡县| 城步| 翁源县| 临武县| 三都| 灌南县| 太谷县| 鲁山县| 汉阴县| 宜丰县| 新化县| 锡林浩特市| 灌南县| 慈利县| 丹棱县| 布尔津县| 明星| 博湖县| 凤庆县| 宁德市| 平湖市| 同仁县| 威海市| 中超| 丰城市| 乌苏市| 宿松县| 芷江|