不能圆按钮的角

Can`t round the corners of the button

我写了下面的代码,但是我的 ImageButton 仍然有尖角。也许我不知道什么,如果你知道,请告诉我。

我的看法

<ImageButton
    android:id="@+id/bottle"
    android:src="@drawable/bottle"
    android:background="@drawable/rouncorners"
    android:layout_width="100dp"
    android:layout_height="100dp"/>

可绘制 xml 文件:

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

好的,我在我的 Studio 上测试了我的启动器图标作为里面的图像,我得到了所需的结果。这是整个 xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

<ImageButton
    android:id="@+id/bottle"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:contentDescription="@null"
    app:srcCompat="@mipmap/ic_launcher"
    android:background="@drawable/rouncorners"/>

</android.support.constraint.ConstraintLayout>

而要放置在可绘制文件中的xml是:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="3dip" android:color="@color/profile_cover" />
    <corners android:radius="10dp" />
 </shape>

结果如下:

这就是您要找的,对吧?它有圆角和内部图像。

添加此代码并清除项目和运行,希望它能显示。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
    android:width="2dp"
    android:color="@color/your_color" />
<solid android:color="@color/your_color" /></shape> 

我遇到了类似的问题(与按钮有关),我创建了一个带有角、描边、实体等的可绘制形状,但尽管我可以在预览中看到正确显示的按钮,但我看不到它在实际的应用程序中。我还没弄明白为什么,但解决方案是像这样以编程方式将drawable设置为按钮的背景 someButton.setBackgroundResource(R.drawable.button_rounded_corners);