在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);
感谢任何帮助
答案 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等。