模仿Material-design raised button style, Stackoverflow解决方案麻烦

Mimicking Material-design raised button style, trouble with Stackoverflow solution

我正在为这里的最佳答案而苦苦挣扎:How to mimic the Material-design raised button style, even for pre-Lollipop (minus the special effects)?

我用 @spierce7

列出的基本要素制作了一个模拟程序

布局如下XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/content_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_main">

    <android.support.v7.widget.AppCompatTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:id="@+id/textview_helloworld"/>

    <android.support.v7.widget.AppCompatButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_below="@id/textview_helloworld"/>
</RelativeLayout>

结果是这样的:

角落浮动按钮随 "raised look" 膨胀,但不是我的 AppCompatButton。

而且我仍然没有在 Lollipop 之前看到凸起的按钮。我错过了什么或做错了什么?

再次检查最新版本后,appcompat 库似乎也没有为我反向移植凸起的按钮效果。我已经相应地更新了我的答案。

我的建议是您只使用 appcompat 库为您提供的内容,因为它仍然符合 material 设计指南。如果出于某种原因你必须有一个精确的反向移植(一个精确的反向移植不仅包括凸起的按钮效果,还包括凸起的按下动画效果,以及波纹),你需要查看一些第 3 方库。我见过带有部分向后移植但没有完全向后移植的第 3 方库,但我没有仔细查看。

如果您想自己制作,则需要遵循我对您发布的问题的旧回答,扩展 CardView