【问题标题】:How can set the EditText line height?如何设置 EditText 行高?
【发布时间】:2020-01-07 10:02:43
【问题描述】:

在我的应用程序中,我使用的是 EditText。正如我们所知,在新版本中 EditText 没有边框,它只显示一个底线。

现在我想将底线的高度/厚度设置为 1dp。

【问题讨论】:

标签: android android-edittext android-textinputlayout material-components material-components-android


【解决方案1】:
<?xml version="1.0" encoding="utf-8" ?>

<shape xmlns:android="http://schemas.android.com/apk/r..."
   android:thickness="3dp"
   android:shape="rectangle">
  <stroke android:width="3dp" android:color="#4799E8"/>
</shape>

将此添加到可绘制资源文件中并在编辑文本中更改其背景:

<EditText    
      android:background="@drawable/drawableResourceFileName"/>

【讨论】:

  • 这行不通,实际上,它绘制了一个完整的矩形框架,而不仅仅是底线
【解决方案2】:

只需使用标准的TextInputLayoutFilled Box 样式:Widget.MaterialComponents.TextInputLayout.FilledBox

类似:

<com.google.android.material.textfield.TextInputLayout
    style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
    ...>

    <com.google.android.material.textfield.TextInputEditText
        .../>

</com.google.android.material.textfield.TextInputLayout>

结果如下:

未聚焦时实心框下划线描边的默认值1dp

如果您想自定义宽度,可以在布局中使用这些属性:

app:boxStrokeWidth="xxdp"
app:boxStrokeWidthFocused="xxdp"

或自定义样式:

<item name="boxStrokeWidth">xxdp</item>
<item name="boxStrokeWidthFocused">xxdp</item>

注意:需要1.1.0的版本。

【讨论】:

  • @GabrieleMariotti com.google.android.material:material:1.0.0
  • @GabrieleMariotti 现在我找到了1.1.0版本谢谢你的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多