如何动态更改按钮android中的文本颜色

时间:2021-01-14 14:26:16

标签: android button text colors

我想创建一个按钮,它会在顶部和用户输入的用户名中包含一个简单的提示。 所以,现在我有类似的东西:

 <Button
    android:id="@+id/settings_change_name"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="32dp"
    android:layout_marginTop="32dp"
    android:layout_marginEnd="32dp"
    android:backgroundTint="#FFFFFF"
    android:hint="How we can call you?"
    android:minHeight="55dp"
    android:textAlignment="viewStart"
    android:textColor="@color/text_main_color"
    android:textSize="14sp"
    app:cornerRadius="10dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

这里是:button

但是如何将提示与用户名分开?我尝试仅使用文本作为提示,但仍然不是我想要的。

1 个答案:

答案 0 :(得分:1)

我不确定是否有默认视图来支持您的要求。作为最后的手段,您可以尝试以下操作

//use this layout as a button
    <LinearLayout
        android:id="@+id/root"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/round_btn"
        android:orientation="vertical"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/hint_holder"
            android:padding="4dp"
            android:textSize="14sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="How do we want to call you?" />

        <TextView
            android:id="@+id/value_holder"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="4dp"
            android:text="UserName"
            android:textSize="14sp" 
            android:textColor="#EF492D"/>
    </LinearLayout>
//round_btn drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#ffffff"></solid>
    <corners android:radius="10dp"/>
</shape>

要响应点击,请将 onClickListener 设置为 root 布局。