在android studio中更改EditText小部件的外观

时间:2018-01-23 04:30:31

标签: android android-layout android-edittext widget

如何在这个外观中设置android studio中默认编辑文本字段的样式:enter image description here

到此:

enter image description here

这与How to change style of a default EditText不同,因为我将从默认的下划线布局转到框布局,反之亦然。

作为参考,这里是表示整体活动的XML。有问题的EditText字段显示在下面。还有一个像它一样具有几乎相同的特征:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    ...>

<GridLayout
    ...>

    ...

    *<EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_row="1"
        android:ems="10"
        android:inputType="textPersonName" />*
      ...
</GridLayout>
...
</android.support.constraint.ConstraintLayout>

2 个答案:

答案 0 :(得分:3)

使用名称&#34; EditTextStyle.xml&#34;创建一个XML文件。在项目的drawable文件夹中,编写以下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
    android:width="2dp"
    android:color="@color/black" />
<solid
    android:color="#00FFFFFF"
    android:paddingLeft="6dp"
    android:paddingTop="6dp" />
<padding
    android:bottom="6dp"
    android:left="6dp"
    android:right="6dp"
    android:top="6dp" />
</shape>

在编辑文本中使用此xml作为背景属性,例如布局文件中的 android:background =&#34; @ drawable / EditTextStyle&#34; 。喜欢这个

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_column="1"
    android:layout_row="1"
    android:background="@drawable/EditTextStyle"
    android:ems="10"
    android:inputType="textUserName" />

它适用于你。

答案 1 :(得分:0)

您有两个选择,可以TextInputLayout使用Edittext,也可以像您已经使用的那样简单地使用Edittext并为其提供背景。

方法一:

<android.support.design.widget.TextInputLayout
        android:id="@+id/tilSignUpFirstName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="20dp"
        android:layout_marginStart="20dp"
        android:layout_marginTop="5dp"
        app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"
      >

        <android.support.design.widget.TextInputEditText
            android:id="@+id/etYourEdittext"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fontFamily="serif"
            android:hint="@string/first_name"
            android:inputType="textPersonName"
            android:maxLines="1"
            android:padding="15dp"
            android:textAppearance="?android:attr/textAppearanceSmall" />

    </android.support.design.widget.TextInputLayout>

并在styles.xml

中添加样式
<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/white</item>
<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/white</item>
<item name="colorControlHighlight">@color/white</item>
<item name="android:textColorHighlight">@color/white</item>
<item name="android:textColorHint">@color/white</item>
<item name="android:textColorPrimary">@color/white</item>

方法二:

      <EditText
                        android:id="@+id/editText3"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"


 android:background="@drawable/bg_spinner_nothing_selected"
                        android:hint="@string/quantity"
                        android:padding="5dp"
                        android:textSize="12sp" />

并在可绘制文件中添加一个drawable。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="1dp" android:bottom="1dp">
    <shape
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle"
        >
        <solid android:color="@color/white" />
        <stroke android:width="1dp"
                android:color="@color/black_overlay"/>

    </shape>
</item>