为什么按钮没有从 xml 获取所有属性
Why the button doesn't get all the attributes from xml
我创建了一个名为 round_button
的 xml 文件。这是一个带有渐变的简单圆形按钮。这是简单的代码
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="3000dip" />
<gradient android:type="linear" android:startColor="#8dbab3" android:endColor="#0DCAAC" />
</shape>
这就是输出:
这是我的 activity.xml 文件的代码。
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/city"
android:text="Search"
android:background="@drawable/round_button"
/>
但输出是这样的:
为什么形状正确却没有渐变?
转到 themes.xml 并更改 parent。
parent=Theme.MaterialComponents.NoActionBar.Bridge
<style name="Theme.YourApp" parent="Theme.MaterialComponents.NoActionBar.Bridge">
//yourcode
</style>
您代码中的一切都可以,只需将 Button 更改为 androidx.appcompat.widget.AppCompatButton 如下所示,您将能够实现您的目标想要的结果。
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/city"
android:text="Search"
android:background="@drawable/round_button"
/>
我创建了一个名为 round_button
的 xml 文件。这是一个带有渐变的简单圆形按钮。这是简单的代码
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="3000dip" />
<gradient android:type="linear" android:startColor="#8dbab3" android:endColor="#0DCAAC" />
</shape>
这就是输出:
这是我的 activity.xml 文件的代码。
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/city"
android:text="Search"
android:background="@drawable/round_button"
/>
但输出是这样的:
为什么形状正确却没有渐变?
转到 themes.xml 并更改 parent。 parent=Theme.MaterialComponents.NoActionBar.Bridge
<style name="Theme.YourApp" parent="Theme.MaterialComponents.NoActionBar.Bridge">
//yourcode
</style>
您代码中的一切都可以,只需将 Button 更改为 androidx.appcompat.widget.AppCompatButton 如下所示,您将能够实现您的目标想要的结果。
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/city"
android:text="Search"
android:background="@drawable/round_button"
/>