我在TextView
中使用了ViewGroup
,而我正在使用ViewGroup
创建一个类似于可滚动UI的图库。 TextView
的整个背景都填充了单一颜色。一切正常,但是当我将orientation
从portrait
更改为landscape
再转换为portrait
时,反之亦然,TextView's
原始大小会保留,因此,这幅画看起来迷失方向。但是当我平移或滚动时,它会被重新校正。扩展ViewGroup
的我的班级没有处理绘图部分,我尝试了以下内容:
ViewGroup
。onConfigurationChanged
(在Manifest中进行适当更改)。我不希望在配置更改后保存currentState后重新创建TextView
的过程。这是我在ViewGroup
中添加视图的代码片段: -
final int[] backgroundColors = { Color.RED, Color.BLUE, Color.CYAN, Color.GREEN, Color.YELLOW };
for (int i = 0; i < 5; i++) {
TextView textView = new TextView(getApplicationContext());
textView.setText(Integer.toString(i + 1));
textView.setTextSize(100);
textView.setTextColor(Color.BLACK);
textView.setGravity(Gravity.CENTER);
textView.setBackgroundColor(backgroundColors[i]);
mWorkspace.addView(textView);
}
//mWorkspace.setSeparator(R.drawable.seperator);
setContentView(mWorkspace);
答案 0 :(得分:0)
您可以尝试在调用setContentView之后将textview添加到mWorkspace。
在此之前,可能无法确定屏幕方向,因此无法正确计算缩放比例。
将文本框添加到onStart或onResume也会产生影响,但我发现缩放在onCreate中效果最佳。