0
我使用TextView在ListView項目中查看,當單擊該項目時,我需要該文本完全被查看而不是前兩行。Android setMaxLines動畫
我現在正在做的是將maxLines值從2(初始值)更改爲最大整數值。
我需要使用擴展動畫來完成此操作。我已經知道如何擴展它,但我只需要找到新的高度,以便我可以簡單地調用expand方法。
更新: 我使用此代碼來解決我的問題,但返回的全高小於實際的高度。我認爲這是px和dp問題:
public int getFullHeight(TextView tv) {
Context context = tv.getContext();
TextView textView = new TextView(context);
textView.setText(tv.getText().toString());
textView.setTypeface(tv.getTypeface());
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, tv.getTextSize());
int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(tv.getLayoutParams().width, View.MeasureSpec.EXACTLY);
int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
textView.measure(widthMeasureSpec, heightMeasureSpec);
return textView.getMeasuredHeight();
}
鑑於tv是原始TextView,它有2行。 如果我將COMPLEX_UNIT_PX更改爲COMPLEX_UNIT_DIP,那麼它會比整個大小更大,底部有一個空白區域。
請檢查我的更新 – 2015-04-01 11:16:00
對不起,我沒有那麼深的GUI開發。但是,當你看到一個模式的差異,可以計算像x一行一行左右。然後你可以計算你自己的差異。 – 2015-04-01 11:20:05