如何設置TextView的文本大小,以便無論它是在平板電腦還是低分辨率手機上運行,它仍然會始終佔據相同的高度。我目前正在:如何調整TextView的大小,使文本在所有設備上的縮放比例相同
public float adjustSP(float sp) {
Resources r = getActivity().getApplicationContext().getResources();
float density = r.getDisplayMetrics().density;
return sp/density;
}
然後,當我創建的文本視圖:
TextView textView = new TextView(activity);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 60.0f);
textView.setText(message.getMessage());
textView.setLayoutParams(new ScrollView.LayoutParams(ScrollView.LayoutParams.MATCH_PARENT, ScrollView.LayoutParams.WRAP_CONTENT));
但結果不一致且,說實話,有點古怪。在平板電腦上,它的尺寸合適 - 約爲屏幕的1/3,適用於中等數量的文本,但是在Nexus S仿真器上,它非常龐大 - 基本上每個屏幕只有1個字。
你也可以使用這個庫:https://github.com/intuit/sdp。它非常易於使用,只需放置文本大小,邊距和填充就可以自動處理。 –