1

我正在使用 aTextView并且ViewGroup我正在使用它ViewGroup来创建一个类似可滚动 UI 的画廊。它的TextView整个背景都填充了一种颜色。一切工作正常,除了当我将我orientation的从portrait更改为landscape更改portrait,反之亦然时,TextView's原始尺寸保持不变,因此,绘图看起来迷失方向。但是一旦我平移或滚动,它就会重新更正。我的扩展类ViewGroup不处理绘图部分,我尝试了以下方法:

  • 使ViewGroup.
  • 使当前显示的视图无效。
  • 实施onConfigurationChanged(在清单中进行适当的更改)。

我不想在TextView更改配置后重新创建 currentState 的过程。这是我在以下位置添加视图的代码片段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);
4

1 回答 1

0

您可以尝试在调用 setContentView 之后而不是之前将 textview 添加到 mWorkspace。

在此之前,可能无法确定屏幕方向并因此正确计算缩放比例。

将文本框添加到 onStart 或 onResume 也会产生效果,尽管我发现在 onCreate 中缩放效果最好。

于 2011-11-19T10:22:51.187 回答