需要应用一种风格来摆脱Entry的底线

时间:2017-10-16 19:28:31

标签: android xamarin.forms multiplatform

首先,我是Xamarin Forms的新手,所以要温柔。我需要摆脱Android中输入输入的底线。它在iOS中显示良好。我做了一些研究,发现这个:

<style name="NoBaseline" parent="android:style/Widget.EditText">
    <item name="android:background">#D3D3D3</item>
</style>

应该只需将下划线与Entry框的背景颜色相同即可。我已将此代码放在我的styles.xml文件中,但我觉得我需要应用这个样式某处,但我只是不确定在哪里。任何有关newb的帮助都将不胜感激。

这是整个文件:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="MyTheme" parent="MyTheme.Base">
    </style>

    <style name="MyTheme.Base"
           parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="colorPrimary">#2196F3</item>
        <item name="colorPrimaryDark">#1976D2</item>
        <item name="colorAccent">#FF4081</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
    </style>

    <style name="NoBaseline" parent="android:style/Widget.EditText">
        <item name="android:background">#D3D3D3</item>
    </style>

    <style name="AppCompatDialogStyle" 
           parent="Theme.AppCompat.Light.Dialog">
        <item name="colorAccent">#FF4081</item>
    </style>

    <style name="Splash" parent ="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowDisablePreview">true</item>
    </style>
    <style name="MyTheme.Splash" 
           parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@drawable/splash_screen</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
    </style>
</resources>

1 个答案:

答案 0 :(得分:3)

如果您在研究时没有看到这个,here is a solution由dkudelko发布到Github,如果您只是想删除下划线,这可能会更简单一些。

要做到这一点,只需在Android项目中创建一个名为NoUnderlineEntry的类,然后添加此代码。

Entry

使用应用名称替换后,您将创建一个自定义渲染器,覆盖Android上的默认Entry,将控件背景颜色设置为透明。

Here is documentation用于为flex创建自定义渲染器。

**注意:我没有亲自测试过,但有多人评论说它有效。