我希望我的TextView出现在进入GridView的RelativeLayout中的ImageView下面。我试过了:
public override View GetView(int position, View convertView, ViewGroup parent)
{
RelativeLayout rl = new RelativeLayout(context);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FillParent, ViewGroup.LayoutParams.FillParent);
ImageView imageView;
TextView tv;
imageView = new ImageView(context);
imageView.LayoutParameters = new GridView.LayoutParams(250, 250);
imageView.SetScaleType(ImageView.ScaleType.CenterCrop);
imageView.SetPadding(8, 8, 8, 8);
imageView.SetImageResource(thumbIds[position]);
imageView.Id = position;
lp.AddRule(LayoutRules.Below, position);
lp.AddRule(LayoutRules.CenterHorizontal);
tv = new TextView(context);
tv.Text = stringIds[position].ToString();
tv.SetTextSize(Android.Util.ComplexUnitType.Dip, 20);
tv.SetTextColor(Android.Graphics.Color.WhiteSmoke);
tv.LayoutParameters = lp;
rl.AddView(imageView);
rl.AddView(tv);
return rl;
}
但TextView始终显示在ImageView之上。
答案 0 :(得分:1)
当您致电rl.AddView(tv)
时,您应该包含LayoutParams rl.AddView(tv, lp)
。
答案 1 :(得分:0)
你必须使用 imageView.setLayoutParams(lp),以便将params分配给您的视图。
答案 2 :(得分:0)
由于我的内容不是动态的,我只是通过在Paint中编辑我的图像并在图像下方放置文本来解决这个问题。然后我把它作为ImageView的背景。