正如標題狀態UI元素,我試圖設置一個佈局元素的寬度是等於高度(其被設置爲匹配父)。我試着從高度參數編程設置寬度參數,但這顯示爲-1而不是實際的高度(因爲它匹配父母)。任何人都知道我可以創建大小爲動態的方形佈局元素嗎?謝謝。創建動態地定尺寸的正方形(等於高度和寬度)Android中
0
A
回答
1
所以我一直在做這樣的事情 - 我不知道它是理想的,但它工作得很好 - 使用ViewTreeObserver.OnGlobalLayoutListener
。事情是這樣的:
View myView = findViewById(R.id.myview);
ViewTreeObserver observer = myView.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new SquareLayoutAdjuster());
class SquareLayoutAdjuster
implements ViewTreeObserver.OnGlobalLayoutListener {
@Override
public void onGlobalLayout() {
int dimension = myView.getHeight();
LayoutParams params = myView.getLayoutParams();
params.width = dimension;
myView.setLayoutParams(params);
observer.removeGlobalOnLayoutListener(this);
}
}
這只是一般的想法,我不知道,如果它編譯原樣,但基本上在onGlobalLayout()
方法,你的意見,保證測量。在結尾刪除偵聽器,以防止它被多次調用(除非你需要這樣的事情發生無論出於何種原因)。
0
KCOPPOCK的解決方案適用於我,謝謝。但我得到了「java.lang.IllegalStateException:這ViewTreeObserver是不是活的,叫getViewTreeObserver()再次」在運行時。所以我用 findViewById(R.id.serie_main_layout).getViewTreeObserver().removeOnGlobalLayoutListener(this);
代替
observer.removeGlobalOnLayoutListener(this);
和所有完美的作品。
相關問題
- 1. 寬度等於動態高度平方
- 2. bitmapData的尺寸(寬度和高度)
- 3. Android:動態創建的NetworkImageView的寬度和高度返回ZERO
- 4. 固定頂部高度和動態寬度和高度低於
- 5. leptonica - 獲取尺寸(高度/寬度)
- 6. 尺寸,僅更改寬度/高度
- 7. Android Rect寬度和高度與原始尺寸不同
- 8. Android ImageView動態寬度和高度
- 9. 指定高度和寬度以空白微調圖像尺寸
- 10. 寬度等於高度
- 11. 用動態高度和全高創建不同的單元尺寸
- 12. 以任何方式使用動力層或組的寬度和高度尺寸?
- 13. TCPDF創建標籤PDF尺寸寬度:57毫米和高度:32毫米
- 14. 找到動態創建的Imageview的高度和寬度?
- 15. 獲取動態創建的Imageview的高度和寬度
- 16. 容器的特定尺寸(寬度,高度等)的默認值是什麼
- 17. UIWebView自動高度尺寸
- 18. Raphael.js - 帶有原始寬度和高度尺寸的圖像?
- 19. 根據父寬度和高度調整子視圖的尺寸
- 20. 更改屏幕的高度和寬度尺寸
- 21. 調整寬度和高度的iframe根據屏幕尺寸
- 22. 如何在android相機中交換預覽尺寸的寬度和高度?
- 23. HTML5/CSS3製作方形div,寬度爲100%,需要高度等於寬度
- 24. Fullcalendar動態高度取決於寬度
- 25. 有父DIV高度自動尺寸基於子DIV高度
- 26. 正方形div的寬度基於百分比高度
- 27. 獲取源圖像中沒有指定寬度和高度的圖像尺寸
- 28. 高度尺寸和浮動元素
- 29. 尺寸等級緊湊寬度中「常規高度」和「任何高度」之間的區別是什麼?
- 30. 動態的圖像寬度和高度