gpt4 book ai didi

android - 如何更改按钮上 Compound Drawable 的颜色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:28 25 4
gpt4 key购买 nike

我想弄清楚如何更改按钮左侧可绘制图标的颜色。

下面是我使用的 XML 代码:

  <Button
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_toRightOf="@+id/student_images"
android:drawableLeft="@mipmap/ic_email_black_18dp"
android:text=" myemail@gmail.com "
android:layout_below="@+id/email"
android:background="#00000000"
android:layout_marginBottom="20dp"
android:fontFamily="sans-serif"
android:textColor="@color/gray_text_color"
/>

我试过 android:tint 但图标的颜色没有改变。我被困在这里。

最佳答案

您可以像下面这样以编程方式设置色调:

int tintColor = ContextCompat.getColor(context, android.R.color.darker_gray);

Button button = (Button) findViewById(R.id.button);

Drawable drawable = ContextCompat.getDrawable(context, R.mipmap.ic_email_black_18dp);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable.mutate(), tintColor);

drawable.setBounds( 0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

button.setCompoundDrawables(drawable, null, null, null);

或者您可以使用 snodnipper 的库 Support Drawable Tints
该库可以为 Button 的 drawableLeft 设置色调。
https://github.com/snodnipper/android-appcompat-issue198613

关于android - 如何更改按钮上 Compound Drawable 的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38926123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com