Xamarin:创建自定义网格视图

时间:2015-02-11 21:22:47

标签: c# android visual-studio-2012 xamarin android-gridview

我需要在Android应用程序中创建自定义GridView(使用Xamarin插件在VS2012上创建)。 我需要在每个单元格上添加图像和标签文本。

此示例工作正常,但没有文本标签。 http://developer.xamarin.com/guides/android/user_interface/grid_view/

我需要这个: Custom Grid View {Image+Text}

但我只找到了Java示例。 请帮帮我

PD:对不起图片,但我无法上传图片(我需要更多声望)。

1 个答案:

答案 0 :(得分:3)

创建一个包含ImageView& TextView中。然后,在GetView类的ImageAdapter方法中,膨胀该布局并填充它,例如:

public override View GetView (int position, View convertView, ViewGroup parent)
{
    View view;

    if (convertView == null) 
    {  
        view = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.my_grid_row, parent, false);
    }
    else
    {
        view = convertView;
    }


    var imageView = view.FindViewById<ImageView>(Resource.Id.my_image_view);
    imageView.SetImageResource (thumbIds[position]);

    var textView = view.FindViewById<TextView>(Resource.Id.my_text_view);
    textView.Text = "Text to Display";

    return view;
}

修改(添加到代码“(”和“;”)

更新:以下是my_grid_row.axml方法夸大的示例布局文件GetView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:scaleType="centerCrop"
        android:id="@+id/my_image_vieww" />
    <TextView
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/my_text_view" />
</LinearLayout>