我創建了一個應用程序,它具有LinearLayout中的四個不同的TextView。 LinearLayout的權重總和爲4,每個TextView的權重爲1(使它們的寬度均勻)。 我的第一個問題是兩個TextView的高度比另外兩個高,這使它們居中,但我希望它們與LinearLayout頂部對齊,因此所有的TextView都有一條直線。將TextViews對齊到LinearLayout的頂部
我的第二個問題是其中一個字符串比TextView的寬度更長,這使得TextView稍微向下(它甚至不再居中,並且在LinearLayout父類之外,因此所有的TextView寬度沒有顯示)。
我的代碼:
LinearLayout layout = new LinearLayout(context);
LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layout.setLayoutParams(layoutParams);
layout.setWeightSum(lessons);
for (int i = 0; i < lessons; i++) {
TextView text = new TextView(context);
LayoutParams textParams = new LayoutParams((int) (0 * (context.getResources().getDisplayMetrics().density) + 0.5f),
(int) (length[i] * (context.getResources().getDisplayMetrics().density) + 0.5f), 1);
text.setLayoutParams(textParams);
System.out.println(length[i]);
text.setPadding((int) (8 * (context.getResources().getDisplayMetrics().density) + 0.5f), 0, 0, 0);
text.setTextColor(context.getResources().getColor(R.color.white_text));
text.setBackgroundColor(context.getResources().getColor(R.color.class.getField(name[i]).getInt(null)));
text.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
text.setGravity(Gravity.CENTER_VERTICAL);
text.setText(R.string.class.getField(name[i]).getInt(null));
layout.addView(text);
}
week[day].addView(layout);
2建議.... 1-)移動到RelativeLayout,2-)使用xml佈局代替 –
@Muhannad Fakhouri我將測試RelativeLayout,但是xm不是一個選擇,因爲佈局需要基於動態在用戶選擇上。 – WeeRox