Xamarin在Android上形成带彩色边框的条目

Xamarin在Android上形成带彩色边框的条目,android,xamarin.forms,xamarin.android,Android,Xamarin.forms,Xamarin.android,我已经为我的应用程序创建了一个自定义的渲染条目,该条目现在只是在文本中添加了填充。我还希望边框颜色始终为蓝色,即使当用户关注条目时也是如此。 我的Android自定义条目中有这段代码(取自,但不起作用,它只是添加了一个蓝色背景): 这被描述为: 将可绘图项设置为显示在文本的左侧、上方、右侧和下方 然而,在经过一个蓝色的抽屉后,它对我的进入毫无影响 如果有人能帮我的话,我似乎不知道如何将边框变成蓝色 编辑:我需要边框位于条目底部,大约5px厚。您可以在不使用渲染器的情况下,使用一个框架,将条目放在

我已经为我的应用程序创建了一个自定义的渲染条目,该条目现在只是在文本中添加了填充。我还希望边框颜色始终为蓝色,即使当用户关注条目时也是如此。 我的Android自定义条目中有这段代码(取自,但不起作用,它只是添加了一个蓝色背景):

这被描述为:

将可绘图项设置为显示在文本的左侧、上方、右侧和下方

然而,在经过一个蓝色的抽屉后,它对我的进入毫无影响

如果有人能帮我的话,我似乎不知道如何将边框变成蓝色


编辑:我需要边框位于条目底部,大约5px厚。

您可以在不使用渲染器的情况下,使用一个框架,将条目放在框架内,并设置框架的边框颜色。这是一种简单的方法

或者,您可以修改渲染器:


公共类CustomEntryRenderer:EntryRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(e.OldElement==null)
{
var nativeEditText=(global::Android.Widget.EditText)控件;
var shape=newshapedrawable(新的Android.Graphics.Drawables.Shapes.RectShape());
shape.Paint.Color=Xamarin.Forms.Color.Red.ToAndroid();
shape.Paint.SetStyle(Paint.Style.Stroke);
nativeEditText.Background=形状;
}
}
}

通常,我不喜欢变通办法,但这太难忽视了:

<FooLayout BackgroundColor="White">
  <StackLayout BackgroundColor="Black" Padding="1">
      <Entry BackgroundColor="White" />
  </StackLayout>
    ...
 </FooLayout>

...

如果愚弄是任何布局的类比

我使用了一种变通方法,我在入口下方添加了一个与入口宽度相同的BoxView,高度要求为5

<customrenderers:BlueBorderEntry x:Name="username" Text="" Placeholder="Email" WidthRequest="150" Margin="35, 0, 35, 0"/>
<BoxView WidthRequest="150" HeightRequest="5" BackgroundColor="#8ad6ea" Margin="35, 0, 35, 20"/>

这在文本周围添加了一个蓝色边框,这很好,但我刚刚意识到我忘了提到我只想在条目底部添加边框。。
<FooLayout BackgroundColor="White">
  <StackLayout BackgroundColor="Black" Padding="1">
      <Entry BackgroundColor="White" />
  </StackLayout>
    ...
 </FooLayout>
<customrenderers:BlueBorderEntry x:Name="username" Text="" Placeholder="Email" WidthRequest="150" Margin="35, 0, 35, 0"/>
<BoxView WidthRequest="150" HeightRequest="5" BackgroundColor="#8ad6ea" Margin="35, 0, 35, 20"/>