我正在尝试创建一个Android XML Drawable,我可以将其用作我的一个LinearLayouts的背景。我需要背景才能有一个图像,左上角和右上角的圆角半径为10dp。我一直在尝试下面的代码,但似乎无法让它工作。这可能吗?非常感谢任何帮助!!
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:topLeftRadius="10dp"
android:topRightRadius="10dp">
</corners>
</shape>
</item>
<item>
<bitmap android:src="@drawable/bg_navbar_blur" />
</item>
答案 0 :(得分:5)
尝试使用px而不是dp:
<corners android:topLeftRadius="10px"
android:topRightRadius="10px">
</corners>
编辑:
这是我用来在我的一个元素中舍入边缘的完整XML:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#99000000" ></solid>
<corners android:radius="8px"></corners>
<stroke android:width="0dp" android:color="#A4C2E0"></stroke>
</shape>
编辑2:
我会尝试这个。将图像及其布局(不是圆角)放在新的XML中,并将其放在可绘制的文件夹中。我们将它命名为linearlayout_bg.xml ...在主布局中,创建一个新的LinearLayout并应用以下属性:
android:background="@drawable/linearlayout_bg"
然后使用您的<corners
代码。也许这会起作用吗?
答案 1 :(得分:0)
尝试在形状中添加实体元素......
我的样本:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<solid android:color="#0f0" />
<corners android:radius="30dp" />
</shape>
</item>
<item>
<bitmap android:src="@drawable/ic_launcher" />
</item>
</layer-list>
试过这个,看起来效果很好