Xamarin:创建自定义网格视图
Xamarin: Create a custom grid View
我需要在 Android 应用程序(使用 Xamarin 插件的 VS2012 上开发)中创建自定义 GridView。
我需要在每个单元格上都有一个图像和标签文本。
此示例运行良好,但没有文本标签。
http://developer.xamarin.com/guides/android/user_interface/grid_view/
我需要什么:
Custom Grid View {Image+Text}
但我只找到了 Java 个例子。
请帮助我
PD:抱歉,图片,但我无法上传图片(我需要更多声誉)。
创建一个包含 ImageView 和 TextView 的新布局。然后,在 ImageAdapter
class 的 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>
我需要在 Android 应用程序(使用 Xamarin 插件的 VS2012 上开发)中创建自定义 GridView。 我需要在每个单元格上都有一个图像和标签文本。
此示例运行良好,但没有文本标签。 http://developer.xamarin.com/guides/android/user_interface/grid_view/
我需要什么: Custom Grid View {Image+Text}
但我只找到了 Java 个例子。 请帮助我
PD:抱歉,图片,但我无法上传图片(我需要更多声誉)。
创建一个包含 ImageView 和 TextView 的新布局。然后,在 ImageAdapter
class 的 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>