Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin 如何在2列GridView中显示包含文本的图像_Xamarin_Xamarin.android - Fatal编程技术网

Xamarin 如何在2列GridView中显示包含文本的图像

Xamarin 如何在2列GridView中显示包含文本的图像,xamarin,xamarin.android,Xamarin,Xamarin.android,如何用文本显示图像(如名称、价格等) 下面的代码仅显示没有文本的图像 ---用户界面: 您可以在适配器的GetView方法中膨胀GridView的单元格,这样您就可以简单地用xml设计项目的模板 例如: GridView的代码隐藏: 公共ObservableCollection项=新ObservableCollection(); 公共MyGridViewAdapter; 创建时受保护的覆盖无效(捆绑包) { base.OnCreate(bundle); SetContentView(Resour

如何用文本显示图像(如名称、价格等)

下面的代码仅显示没有文本的图像

---用户界面:


您可以在适配器的
GetView
方法中膨胀
GridView
的单元格,这样您就可以简单地用xml设计项目的模板

例如:

GridView的代码隐藏:

公共ObservableCollection项=新ObservableCollection();
公共MyGridViewAdapter;
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
//在此处添加您的项目。
对于(int i=0;i<50;i++)
{
添加(新的MyItemModel{ImageSource=Resource.Drawable.Pika,Name=“Name”+i});
}
adapter=新的MyGridViewAdapter(此,项);
GridView gv=FindViewById(Resource.Id.GridView);
gv.适配器=适配器;
}
MyItemModel用于图像资源和该图像的名称,如下所示:

公共类MyItemModel
{
公共字符串名称{get;set;}
公共int ImageSource{get;set;}
}
MyGridViewAdapter
是这样的:

公共类MyGridViewAdapter:BaseAdapter { 私人可观测收集项目; 私人活动语境; 公共MyGridViewAdapter(活动上下文、ObservableCollection项) { 这个项目=项目; this.context=上下文; } 公共覆盖MyItemModel此[int位置] { 得到 { 退货项目[位置]; } } 公共覆盖整数计数 { 得到 { 返回项目。计数; } } 公共覆盖长GetItemId(int位置) { 返回位置; } 公共覆盖视图GetView(int位置、视图转换视图、视图组父视图) { 视图=转换视图; 如果(视图==null) { 视图=context.LayoutInflater.Inflate(Resource.Layout.MyGridViewCell,null); } var image=view.findviewbyd(Resource.Id.image); image.SetImageResource(项[位置].ImageSource); var name=view.findviewbyd(Resource.Id.name); name.Text=项目[位置].name; 返回视图; } }
最后,
MyGridViewCell
的布局如下:


<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gridview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:columnWidth="230dp"
    android:numColumns="2"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:background="#ffffff"
    android:stretchMode="columnWidth"
    android:gravity="center" />
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;

namespace ModSpforce
{
    class ImageAdapter : BaseAdapter
    {
        Context context;

        public ImageAdapter(Context c)
        {
            context = c;
        }

        public override int Count
        {
            get { return thumbIds.Length; }
        }

        public override Java.Lang.Object GetItem(int position)
        {
            return null;
        }

        public override long GetItemId(int position)
        {
            return 0;
        }

        // create a new ImageView for each item referenced by the Adapter
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            ImageView imageView;

            if (convertView == null)
            {  // if it's not recycled, initialize some attributes
                imageView = new ImageView(context);
                imageView.LayoutParameters = new GridView.LayoutParams(200, 200);
                imageView.SetScaleType(ImageView.ScaleType.CenterCrop);
                imageView.SetPadding(3, 3, 3, 3);
            }
            else
            {
                imageView = (ImageView)convertView;
            }

            imageView.SetImageResource(thumbIds[position]);
            return imageView;
        }

        // references to our images
        int[] thumbIds = {
        Resource.Drawable.sample_2, Resource.Drawable.sample_3,
        Resource.Drawable.sample_4, Resource.Drawable.sample_5,
        Resource.Drawable.sample_6, Resource.Drawable.sample_7,
        Resource.Drawable.sample_0, Resource.Drawable.sample_1,
        Resource.Drawable.sample_2, Resource.Drawable.sample_3,
        Resource.Drawable.sample_4, Resource.Drawable.sample_5,
        Resource.Drawable.sample_6, Resource.Drawable.sample_7,
        Resource.Drawable.sample_0, Resource.Drawable.sample_1,
        Resource.Drawable.sample_2, Resource.Drawable.sample_3,
        Resource.Drawable.sample_4, Resource.Drawable.sample_5,
        Resource.Drawable.sample_6, Resource.Drawable.sample_7
        };

    }
}