установить фоновое изображение и XML-ресурс - PullRequest
6 голосов
/ 07 июля 2011

Я использую следующий код ниже, чтобы скруглить углы RelativeLayout.Я сохраняю это как mybackground.xml в папке drawable.
Он отлично работает для скругления угла, но проблема в том, что я также хочу добавить прозрачное изображение в качестве фона моего RelativeLayout.Как я могу достичь обеих вещей?Как я могу использовать изображение и рисованный XML (для скругления угла) одновременно для RelativeLayout ...

<?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 ]

18 голосов
/ 07 июля 2011

используйте Layer List и Item tag для настройки изображения и используйте сплошную метку и установите цвет как # 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>
6 голосов
/ 07 июля 2011

Вы можете использовать Layer-List

Это будет так

<?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>
2 голосов
/ 21 июля 2014

Это работает.Если вы не закруглите углы своей картинки, вы также не сможете увидеть закругленный угол.Некоторые друзья говорили об этом в предыдущих ответах.Они должны округлить свое изображение, чтобы увидеть эффект округления.

<?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>
1 голос
/ 07 июля 2011

Попробуйте что-то вроде этого:

<?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>
...