来自this链接。



我想要的是,不允许输入字段接收用户的输入。
InputTransparent=true在iOS上运行良好,但在Android上却无法运行,它仍然允许用户提供输入。

我尝试了IsEnabled=false,但这改变了我的Entry字段的外观,但我不希望这样。

这是某种错误吗?

最佳答案

InputTransparent在Android上不起作用。我为StackLayout创建了简单的渲染器:

在PCL项目中:

public class StackLayoutAdd :StackLayout
{
}

在Android项目中:
[assembly: ExportRenderer(typeof(StackLayoutAdd),   typeof(StackLayoutAddCustom))]
.....
public class StackLayoutAddCustom : VisualElementRenderer<StackLayout>
{
    public override bool DispatchTouchEvent(MotionEvent e)
    {
        base.DispatchTouchEvent(e);
        return !Element.InputTransparent;
    }
}

我在xaml中使用它:
 <StackLayoutAddCustom InputTransparent={Binding IsReadOnly}>
   <Editor />
  ....
 </StackLayoutAddCustom>

这是 child 控制的工作。

关于xamarin - InputTransparent = true在Xamarin Forms Android中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38122024/

10-09 08:54