0
我想知道是否有方法可以在佈局中找出可用於視圖的空間。Android:在佈局中獲取寬度
爲了更精確一點:在活動中,兩個TextView並排顯示。由於第二個包含相當多的文本,我想檢查一下,該文本是否可以在屏幕上顯示,或者它是否太大。如果是這種情況,我會顯示較小版本的文本(因爲默認情況下Android不會在多行顯示此文本)。 目前我使用一些像這樣的代碼:
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
Point screenSize = new Point();
display.getSize(screenSize);
int screenWidth = screenSize.x;
if (tvTitle.getWidth() + tvDescription.getWidth() > screenWidth) {
tvDescrition.setText(getString(R.string.descritption_short));
}
但是,這並不工作:寬度通常比屏幕小,因此使用長版本。但是:文字沒有完全顯示,最後的單詞總是缺失。
我想問題是,佈局是使用填充,因此減少了真正可用的空間。
那麼如何解決這個問題呢?任何想法都非常受歡迎:-)
謝謝!我的腦海中出現了兩個問題: 爲什麼您使用'measureText'而不是'TextView.getWidth()'? 如何獲得元素的邊距? – portux