【发布时间】:2016-09-12 23:07:19
【问题描述】:
我使用 Xamarin.Forms 布局,它有一个 Stepper 控件。
在 Android 上,它看起来像这样:
现在看来我必须在每个平台上创建自定义单元格,因为 UWP 性能远低于正常滚动速度。
根据此页面,Stepper 是通过 Android 中的自定义视图呈现的:
我创建了一个 Android 布局,并打算使用 StepperRenderer,但我不知道如何在我的自定义 viewcell 中扩展自定义视图:
<LinearLayout
android:id="@+id/Layout1"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dip">
<TextView
android:id="@+id/Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF7F3300"
android:textSize="20dip"
android:textStyle="italic" />
<!-- NumberPicker is not applicable-->
<NumberPicker
android:id="@+id/Stepper"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--StepperRenderer
android:id="@+id/Stepper"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /-->
<Spinner
android:id="@+id/Picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
protected override Android.Views.View GetCellCore(Xamarin.Forms.Cell item, Android.Views.View convertView, ViewGroup parent, Context context)
{
var x = (MyViewCell)item;
var view = convertView;
if (view == null)
{
// no view to re-use, create new
view = (context as Activity).LayoutInflater.Inflate(Resource.Layout.MyViewCellLayout, null);
}
view.FindViewById<TextView>(Resource.Id.Text).Text = x.Text;
view.FindViewById<NumberPicker>(Resource.Id.Stepper).Value = x.Value;
return view;
}
知道如何在 viewCell 中使用该视图吗?
【问题讨论】:
标签: xamarin.android xamarin.forms