【问题标题】:Android button border stay deafault after adding drawable file添加可绘制文件后Android按钮边框保持默认
【发布时间】:2021-12-06 23:19:54
【问题描述】:

我正在 android studio 中开发一个项目,我正在尝试将边框更改为我的按钮。 当我将它添加到我的网格时,我的默认按钮如下所示:

在可绘制文件中添加新的 XML 文件(称为 box_solid_border.XML)后,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <stroke
        android:width="4dp"
        android:color="#000000" />

</shape>

结果是它正在创建我可以看到的下一个形状:

这正是我想要添加到按钮的内容。

当我回到主文件中的 XML 并将下一行添加到我的按钮时:

正如您在第 226 行中看到的那样,我正在将刚刚为该按钮创建的背景添加到按钮中。在这条线附近,有我想要的确切边界。 但在应用程序中,该按钮仍与默认按钮相同,没有添加任何边框。 像这样:

有人知道drawable文件不影响按钮的原因吗? 如果我对 textView 或其他东西做同样的事情,它工作得很好,只是按钮看起来不受他的可绘制扩展的影响。

谢谢!

【问题讨论】:

    标签: android xml button border


    【解决方案1】:

    您需要将此属性添加到您的按钮:

    app:backgroundTint="@null"
    

    如果它同时具有android:backgroundapp:backgroundTint两个属性(如果你的应用程序使用默认主题,它有一个默认值),app:backgroundTint指定的颜色将覆盖在drawable的形状上。

    【讨论】:

      【解决方案2】:

      按钮的边框尝试编辑可绘制文件夹中的 box_solid_border.xml
      &lt;?xml version="1.0" encoding="utf-8"?&gt;
      &lt;shape xmlns:android="http://schemas.android.com/apk/res/android"&gt;
      &lt;stroke android:color="@color/black"
      android:width="5dp"/&gt;
      &lt;corners android:radius="8dp"/&gt;
      &lt;solid android:color="@color/colorAccent"/&gt;
      &lt;/shape&gt;

      在布局xml文件中
      &lt;Button
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@drawable/box_solid_border"
      android:text="Button"
      android:textColor="#fff"
      android:textSize="30sp" /&gt;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        相关资源
        最近更新 更多