【发布时间】:2016-02-10 03:00:51
【问题描述】:
我必须动态添加多个TextViews。
每个TextView 应该填满屏幕,下一个TextView 应该添加到第一个视图下方,甚至应该占据整个屏幕。
我使用以下代码来确定屏幕高度并在运行时使用。
代码 sn-p
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
for(int i=0;i<name.size();i++)
{
text = new TextView(getApplicationContext());
text.setText(class.get(i));
text.setTextColor(Color.parseColor("#000000"));
text.setLayoutParams(new LinearLayout.LayoutParams(width, height));
text.setGravity(Gravity.CENTER);
text.setTextSize(40);
text.setClickable(true);
LL.addView(text);
}
结果:
第一个视图占据整个屏幕并扩展到下一个屏幕。
当添加到LinearLayout 的第二个视图时,顶部会留下一点空隙。
这个场景只有截图才能理解。
截图:
这些屏幕正在慢慢向下移动。它们的高度大约增加了 30dp。
如何使用 DisplayMetrics 获得屏幕的确切高度和宽度。
编辑:
即使使用this Answer,屏幕也比它的高度多占用30dp
答案:
计算完屏幕宽高后,减去Action bar的高度。
这点没有提到。既不是这里也不是那个重复的问题
【问题讨论】:
标签: android textview height width