簡體   English   中英

以編程方式將視圖放置在RelativeLayout中

[英]Programmatically Position Views in RelativeLayout

我希望我的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的頂部。

看看這個問題

調用rl.AddView(tv) ,應包括LayoutParams rl.AddView(tv, lp)

您必須使用imageView.setLayoutParams(lp)才能將參數分配給視圖。

如何為ImageView設置setLayoutParams()?

由於我的內容不是動態的,因此我通過在Paint中編輯圖像並將文本放置在圖像下方來解決此問題。 然后,我將其作為ImageView的背景。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM