这个问题已经存在于此。但我想逐步了解这一点。 我将依赖关系粘贴在gradle中。
compile 'com.android.support:appcompat-v7:25.3.1'
而不是做什么。 我的xml代码在这里
<Button
android:id="@+id/button_not_working"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imageViewGroup"
android:layout_marginTop="60dp"
android:paddingEnd="9dp"
android:layout_alignStart="@+id/imageViewGroup"
android:layout_alignEnd="@+id/imageViewGroup"
android:background="@drawable/button_background"
android:text="Drawable Tine not working"
android:textColor="@color/white"
android:textSize="@dimen/font_size_small"
android:textAlignment="center"
android:layout_marginBottom="10dp"
android:drawableEnd="@drawable/forword_arrow"
android:drawableTint="@color/white"
android:gravity="center"
/>
这是图片
forward_arrow的颜色没有变化。 这里有几个答案,但想知道一步一步做什么。 就是这样。
答案 0 :(得分:1)
通过android:drawableTint
和android:drawableTintMode
属性在API 23(Android 6)中引入了TextView中的复合drawable(以及它们的后代,如Button)。
截至今天,此功能尚未移植到AppCompat支持库。
当然,我自己试图解决这个问题。查看appcompat-extra库。它有XpAppCompatTextView
和XpAppCompatButton
个小部件。您的代码可能如下所示:
<android.support.v7.widget.XpAppCompatButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Drawable tint working"
android:drawablePadding="8dp"
app:drawableEnd="@drawable/forword_arrow"
app:drawableTint="?android:textColorPrimary"/>
请注意,android:drawablePadding
仍然使用android
前缀。
此小部件的布局预览可能会被破坏。在这种情况下,请添加以下代码,以便至少知道结果应用程序的外观:
tools:drawableEnd="@drawable/forword_arrow"
tools:drawableTint="?android:textColorPrimary"
要将库放入 app模块 build.gradle:
repositories {
maven { url 'https://dl.bintray.com/consp1racy/maven/' }
}
dependencies {
compile 'net.xpece.android:appcompat-extra:1.2.0'
}
答案 1 :(得分:-4)
您必须使用tint
atttibute
编辑:我的错误,应该是backgroundTint