如何更改按钮的边框颜色和更改 editText 中下划线的颜色?

How to change the border colour for the button and changing the colour for underline in the editText?

我尝试了很多方法,但我的问题不是 solved.I 我在更改按钮边框的颜色和 editText 中的下划线时遇到了问题。在改变按钮的颜色时,背景颜色应该是透明的,但按钮的边框应该是白色的。 EditText 下划线颜色应该是白色。如何创建如下图所示的设计。

请帮助我如何设计“使用 Facebook 登录”按钮边框应为白色,并且编辑文本下划线颜色应为白色。

按钮边框:您可以将可绘制形状设置为按钮背景以更改其边框颜色。参见 this

更改 EditText 下划线: 您可以将 colorHighlight 和 colorNormal 添加到您的 BaseTheme。它将改变 editText 的下划线颜色。参见 this

希望对您有所帮助。

只需将 button_bg.xml 文件制作成 drawable 并将给定的代码放在下面

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item>
    <shape android:shape="rectangle">

        <solid android:color="#30055fab" />
        <stroke android:width="2dp" android:color="#FFFFFF" />
        <corners android:radius="0dp" />
    </shape>
</item>

并按照上面创建的 xml 文件

定义按钮背景
<Button
        android:id="@+id/btnLogin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/_10dp"
        android:background="@drawable/button_bg"
        android:text="Log in"
        android:textColor="@android:color/white" />

要在编辑文本中添加行,请尝试此代码

 <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/_10dp"

        android:textColorHint="@android:color/white"
        app:hintEnabled="true">

        <android.support.design.widget.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/transparent"
            android:hint="@string/password"
            android:inputType="textPassword"
            android:padding="@dimen/_10dp"
            android:textColor="@android:color/white"
            android:textColorHint="@android:color/white" />

        <view
            android:layout_width="match_parent"
            android:background="@android:color/white"
            android:layout_height="1dp"/>
    </android.support.design.widget.TextInputLayout>

试试这个:

Edittext下划线颜色使用:

 <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:layout_marginTop="20dp"
    android:backgroundTint="@android:color/white"
    android:hint="Username"
    android:paddingLeft="20dp"
    android:textColorHint="@android:color/white" />

对于Button背景:

drawable/background.xml:

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--stroke width and color-->
    <stroke
        android:width="2dp"
        android:color="@android:color/white" />

    <!-- corner radius-->
    <corners
        android:radius="0dp" />
</shape>

在布局中:

 <Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background"
    android:text="Login With Facebook"
    android:textColor="@android:color/white" />

编辑

backgroungTint will not work on Pre lollipop devices

尝试使用这个:

 <android.support.v7.widget.AppCompatEditText
    android:id="@+id/my_appcompat_imageview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:backgroundTint="@android:color/white"
    android:hint="Username"
    android:textColorHint="@android:color/white"
    android:tint="@android:color/white" />

输出: