覆盖背景颜色的文字会隐藏Android上的图像?

时间:2011-07-21 15:12:47

标签: android textview overlay

在Android上,我正在尝试创建一个动态图像查看器来翻转图像,并在每个图像的底部显示一些有关图像的信息,最多1行或2行文本。我想给显示文本的区域一个独特的背景颜色让它站起来。一切都很好,除了一件事,当我为TextView设置一个颜色让我们说“黑色”我得到整个屏幕黑色覆盖图像图像!而不仅仅是TextView区域。请记住,我正在动态创建所有内容,如下所示:

imageFrame = new FrameLayout(this);

Viewer = new ImageView(this);

imageInfo = new TextView(this);
imageInfo.setHeight(imageInfo.getLineHeight()); imageInfo.setGravity(Gravity.BOTTOM);
imageInfo.setBackgroundColor(Color.CYAN);
imageFrame.addView(Viewer);
imageFrame.addView(imageInfo);

感谢任何帮助

2 个答案:

答案 0 :(得分:0)

您可能还想动态设置高度和宽度。我的猜测是textview的宽度和高度设置为fill_parent。如果这不起作用,请尝试以不同的顺序将元素添加到imageFrame。

以下是您需要为每个文本视图动态设置宽度的方法。

TextView tv = (TextView) findViewById(R.id.yourtextviewname)
ViewGroup.LayoutParams vg1 = (ViewGroup.LayoutParams) tv.getLayoutParams();
vg1.width = 100;

tv.setLayoutParams(vg1);

还尝试在框架布局中创建根元素的线性布局。然后将textview和图像视图放在线性布局中。

答案 1 :(得分:0)

如果你使用FrameLayout,你需要知道元素,放入的元素,彼此叠加。如果你不想堆叠它们,你需要使用LinearLayout或RelativeLayout等。