6

我正在使用下面的代码来圆角RelativeLayout。我把它保存mybackground.xmldrawable文件夹中。
圆角效果很好,但问题是我还想添加一个透明图像作为我的 RelativeLayout 的背景。我怎样才能实现这两件事?如何同时为 RelativeLayout 使用图像和可绘制 xml(用于圆角)...

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle" android:padding="10dp">
   <corners android:bottomRightRadius="30dp"
            android:bottomLeftRadius="30dp"
            android:topLeftRadius="30dp"
            android:topRightRadius="30dp" />
</shape>
4

4 回答 4

18

使用图层列表和项目标签设置图像并使用实心标签并将颜色设置为#AA000000 为透明,如下所示

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
           android:shape="rectangle" android:padding="10dp">
      <solid android:color="#AA000000"/>
      <corners android:bottomRightRadius="30dp"
               android:bottomLeftRadius="30dp" 
               android:topLeftRadius="30dp"
               android:topRightRadius="30dp" />
    </shape>
  </item>
  <item>
    <bitmap android:src="@drawable/yourfilename"/>
  </item>
</layer-list>
于 2011-07-07T11:36:22.333 回答
6

您可以使用图层列表

会是这样

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="rectangle" android:padding="10dp">
    <corners android:bottomRightRadius="30dp"
             android:bottomLeftRadius="30dp" android:topLeftRadius="30dp"
             android:topRightRadius="30dp" />
    </shape>
  </item>
  <item><!-- your transparent image --></item>
 </layer-list>
于 2011-07-07T11:41:27.377 回答
2

这个有效。如果您不圆角您的图片,您将无法看到圆角。有朋友在之前的回答中谈到了这个。他们应该把他们的形象弄圆,才能看到圆形的效果。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/listviewback2">
        <shape android:shape="rectangle" android:padding="10dp">
            <corners
                android:bottomRightRadius="35dp"
                android:bottomLeftRadius="35dp"
                android:topLeftRadius="35dp"
                android:topRightRadius="35dp"/>
        </shape>
    </item>
</layer-list>
于 2014-07-21T19:04:28.240 回答
1

尝试这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item> 
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle" android:padding="10dp">
            <corners android:bottomRightRadius="30dp"
                android:bottomLeftRadius="30dp" android:topLeftRadius="30dp"
                android:topRightRadius="30dp" />
        </shape>
    </item>
   <item>
       <bitmap android:src="@drawable/background"/>
   </item>
</layer-list>
于 2011-07-07T11:42:13.213 回答