在我的應用程序中,我顯示了幾個文本視圖,其中包含運行時加載的各種長度的文本。在運行時間之前,我不知道文本視圖的尺寸或文本的長度。有時,當文字很長,TextView的小一些文本是部分可見,例如:Android TextView:我可以停止顯示部分顯示的文本
我想,因爲它看起來有點蹩腳,除去部分可見的文字,但我可以」找到一種方法來做到這一點。任何幫助,將不勝感激!
感謝,
戴夫
在我的應用程序中,我顯示了幾個文本視圖,其中包含運行時加載的各種長度的文本。在運行時間之前,我不知道文本視圖的尺寸或文本的長度。有時,當文字很長,TextView的小一些文本是部分可見,例如:Android TextView:我可以停止顯示部分顯示的文本
我想,因爲它看起來有點蹩腳,除去部分可見的文字,但我可以」找到一種方法來做到這一點。任何幫助,將不勝感激!
感謝,
戴夫
可以硬的方式,文本的第二行是不可見的代碼的TextView
高度。
或使用:
android:maxLines , Makes the TextView be at most this many lines tall.
如上建議。
將您的文字瀏覽放在滾動視圖佈局中。併爲您的文本視圖指定一個特定的寬度並使高度包裝內容。因此,您的文本不會被剪切。
感謝您的幫助。我無法更改文本視圖的寬度或高度,它們是日記顯示的一部分,高度代表事件的長度。我想知道是否有辦法刪除任何部分可見的文本給這些限制。 – 2013-03-27 13:27:09
這就是我做到的。我跑這個代碼的活動已經發布方法CheckTextIsVisible父RelativeLayout的的處理器隊列加載之後,否則textviews的高度也不會知道:
m_eventsLayout.Post(new Action(CheckTextIsVisible));
然後,該方法CheckTextIsVisible找到的每個TextView的文本在它,計算字體的高度,工作了許多行如何適應在TextView的,並相應地設置的最大行數:
private void CheckTextIsVisible()
{
View view;
TextView tView;
Android.Text.TextPaint tPaint;
float height;
int heightOfTextView;
int noLinesInTextView;
for (int i = 0; i < m_eventsLayout.ChildCount; i++)
{
view = m_eventsLayout.GetChildAt(i);
if (view is TextView)
{
tView = (TextView)view;
if (tView.Text != "")
{
//calculate font height
tPaint = tView.Paint;
height = CalculateTextHeight(tPaint.GetFontMetrics());
//calculate the no of lines that will fit in the text box based on this height
heightOfTextView = tView.Height;
noLinesInTextView = (int)(heightOfTextView/height);
//set max lines to this
tView.SetMaxLines(noLinesInTextView);
}
}
}
}
private float CalculateTextHeight(Android.Graphics.Paint.FontMetrics fm)
{
return fm.Bottom - fm.Top;
}
這將導致部分不可見的文字!
使您的視圖可滾動。 – Raghunandan 2013-03-27 11:25:46
android:maxLines =「1」 – Triode 2013-03-27 11:27:30