Android开发中Button和Androidx.appcompat.widget.AppCompatButton有什么区别?

Chi*_*oha 5 java android kotlin

我正在尝试在最新的 Android Studio Arctic 中创建一个注册页面。因此,我尝试使用 Button Class 自定义按钮并设置其样式,但没有进行任何明显的更改,直到我使用 AppCompatButton,并且实现了按钮的所有样式和自定义。我想要详细说明这两个视图以及为什么我无法使用按钮类进行更改。谢谢。

这些是 AppCompatButton 和 Button 的代码

<androidx.appcompat.widget.AppCompatButton
                android:id="@+id/sign_up_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:background="@drawable/button_border_signin"
                android:elevation="0dp"
                android:text="Sign Up"
                android:textColor="#e0e0e0e0"
                android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)

按钮

<Button
                android:id="@+id/sign_up_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:background="@drawable/button_border_signin"
                android:elevation="0dp"
                android:text="Sign Up"
                android:textColor="#e0e0e0e0"
                android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)

Ham*_*rar 6

可能的原因

您可能在后台可绘制文件中使用一些与旧版本不兼容的功能。


Button 和 AppCompatButton 之间的区别

AppCompatButton 只是一个支持旧版本平台上兼容功能的按钮,包括:

当您在布局中使用 Button 且顶级活动/对话框由 appcompat 提供时,将自动使用此选项。您只需要在编写自定义视图时手动使用此类。

来源: AppCompatButton