Android 从适配器以编程方式创建视图时,无法将文本居中

Android 从适配器以编程方式创建视图时,无法将文本居中,android,gridview,textview,imageview,Android,Gridview,Textview,Imageview,我正在使用适配器为几个项目中的每个项目生成一个视图。视图需要显示一个图像,该图像下方的文本居中。我创建了一个线性布局,并添加了一个图像视图和文本视图 为了显示问题,我将线性布局的背景色更改为绿色,文本视图的背景色更改为红色 显然,文本显示为左对齐,而不是居中。下面是适配器GetView方法中的简单代码 public override View GetView(int position, View convertView, ViewGroup parent) {

我正在使用适配器为几个项目中的每个项目生成一个视图。视图需要显示一个图像,该图像下方的文本居中。我创建了一个线性布局,并添加了一个图像视图和文本视图

为了显示问题,我将线性布局的背景色更改为绿色,文本视图的背景色更改为红色

显然,文本显示为左对齐,而不是居中。下面是适配器GetView方法中的简单代码

    public override View GetView(int position, View convertView, ViewGroup parent)
    {
        ImageView imageView = new ImageView(_context);
        LinearLayout.LayoutParams imageViewParam = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
        imageView.LayoutParameters = imageViewParam;
        imageView.Id = 1000 + position;
        imageView.SetImageResource(Resource.Drawable.Code);

        TextView textView = new TextView(_context);
        LinearLayout.LayoutParams textViewParam = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
        textView.LayoutParameters = textViewParam;
        textView.Text = OPTIONS_TEXT[position];
        textView.SetBackgroundColor(Color.Red);
        textView.SetForegroundGravity(GravityFlags.CenterHorizontal);

        LinearLayout linear = new LinearLayout(_context);
        linear.LayoutParameters = new GridView.LayoutParams(200, 172);
        linear.SetBackgroundColor(Color.Green);
        linear.Orientation = Orientation.Vertical;
        linear.AddView(imageView);
        linear.AddView(textView);

        return linear;
    }
据我所知,在以编程方式生成视图时,您无法设置布局重力设置,因此我尝试设置前景重力,但没有任何效果


我已经尝试了我能想到的一切,但没有任何东西能使文本居中

将重心设置为TextView的LinearLayout.LayoutParams,即

 textViewParam.gravity = Gravity.CENTER;

你不需要前景重力,只需要常规重力–
textView.gravity=GravityFlags.CenterHorizontal
,看起来应该是这样。酷,这很简单。可惜文件太差了。谢谢