【问题标题】:How to use the native control of Stepper in Xamarin Android如何在 Xamarin Android 中使用 Stepper 的本机控件
【发布时间】: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


    【解决方案1】:

    有类似的线程与此相关:

    https://forums.xamarin.com/discussion/26173/custom-renderer-for-stepper

    希望这会有所帮助。

    【讨论】:

    • 如果您想创建自定义 Xamarin.Forms 控件,这很有用,但我需要利用本机性能的强大功能,因此我需要在我的 Android 项目中有一个 Android 控件。我不想重新实现它,我只想重用 StepperRenderer。
    猜你喜欢
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2022-11-12
    • 2019-03-09
    相关资源
    最近更新 更多