2015-02-11 70 views
2

我需要在Android應用程序中創建一個自定義GridView(使用Xamarin插件開發VS2012)。 我需要在每個單元格上顯示圖像和標籤文本。Xamarin:創建一個自定義的網格視圖

這個例子完美地工作,但沒有文本標籤。 http://developer.xamarin.com/guides/android/user_interface/grid_view/

我需要什麼,這怎麼: Custom Grid View {Image+Text}

但我只發現了Java的例子。 請幫幫我

PD:對不起圖片,但我無法上傳圖片(我需要更多的聲望)。

回答

3

創建一個具有ImageView & TextView的新佈局。然後,在ImageAdapter類的GetView方法,膨脹該佈局並填充它,例如:

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> 
+0

您好,感謝響應我有一個問題:是否需要創建一個單元格中的.axml和gridview中的.axml? – 2015-02-12 13:17:53

+0

只需要一個.AXML就可以了。您可以使用LinearLayout來保存ImageView和TextView。 – 2015-02-12 18:21:14

+0

你可以幫我在自定義gridview中的其他問題?謝謝 – 2015-02-23 18:55:59