背景染色文本视图在Android 5.0以下设备上无法工作

3

我已经下载了最新的Android支持库 com.android.support:appcompat-v7:23.0.1,我认为这个库支持android.support.v7.widget.AppCompatTextViewandroid:backgroundTint属性。

但是当我在低于Lollipop的设备上运行应用程序时,我仍然无法使着色工作。

以下是我的操作:

<android.support.v7.widget.AppCompatTextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content
    android:layout_alignParentRight="true"
    android:background="@drawable/balloon_outgoing_normal"
    android:backgroundTint="#222"
/>
2个回答

1

0

请确保您的活动 extends AppCompatActivity,并且您的基础主题使用任何一个 Theme.AppCompat 主题作为父级。然后,使用您喜欢的颜色选择将以下属性添加到您的基础主题中。

<item name="colorControlNormal">@color/primary_deepPurple_500</item>
<item name="colorControlHighlight">@color/primary_deepPurple_600</item>
<item name="colorControlActivated">@color/primary_dark_deepPurple_700</item>
<item name="colorButtonNormal">@color/primary_deepPurple_500</item>

500、600和700色调是根据Material Design颜色板而来的。

这应该会给你的按钮着色。

顺便说一下,你不需要在布局中直接使用android.support.v7.widget.AppCompatTextView,除非你要将其创建为自定义TextView。当你扩展AppCompatActivity时,它们的方法和变量(如着色功能)对你可用。这被称为多态性


1
我正在尝试给一个文本视图着色,而不是按钮。该文本视图具有背景可绘制物,一个精确的消息气泡。我想要实现的目标是能够在早期的设备上着色背景。 - special
不确定,但也许这个答案是你需要的 https://dev59.com/C2Ik5IYBdhLWcg3wMLmI#29790025 同时浏览一下该帖子中的其他答案。 - Aditya Naique
1
我能够使用在Github上的第三方库得到我想要的东西,它使用聊天气泡并允许更改背景颜色,类似于背景色调效果。https://github.com/himanshu-soni/ChatMessageView - special
很棒!考虑将此评论发布为答案,并选择它作为最佳答案,以便其他人可以轻松找到它。 - Aditya Naique

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接