web-dev-qa-db-ja.com

XML Androidでシェイプする背景画像を追加する

背景画像を図形に追加する方法私が以下で試したが成功しなかったコード:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" Android:padding="10dp">
//here is where i need to set the image
<solid Android:color="@drawable/button_image"/>
    <corners
     Android:bottomRightRadius="5dp"
     Android:bottomLeftRadius="5dp"
     Android:topLeftRadius="5dp"
     Android:topRightRadius="5dp"/>
 </shape>
127
DevC

以下のlayerlistを使用してください。

<?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="5dp"
                 Android:bottomLeftRadius="5dp"
                 Android:topLeftRadius="5dp"
                 Android:topRightRadius="5dp"/>
         </shape>
   </item>
   <item Android:drawable="@drawable/image_name_here" />
</layer-list>
184
vipul mittal

円形の背景を持つ描画可能な画像には、次のものを使用しました。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item>
        <shape Android:shape="oval">
            <solid Android:color="@color/colorAccent"/>
        </shape>
    </item>
    <item
        Android:drawable="@drawable/ic_select"
        Android:bottom="20dp"
        Android:left="20dp"
        Android:right="20dp"
        Android:top="20dp"/>
</layer-list>

これはそれがどのように見えるかです。

enter image description here

それが誰かに役立つことを願っています。

174
Ray Hunter

これは、アイコンが内側にある円形です。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:drawable="@drawable/ok_icon"/>
    <item>
        <shape
                Android:shape="oval">
            <solid Android:color="@color/transparent"/>
            <stroke Android:width="2dp" Android:color="@color/button_grey"/>
        </shape>
    </item>
</layer-list>
19
anagaf

境界線付きの描画可能な画像には次のものを使用しました。

まず、描画可能なフォルダにこのコードを含む.xmlファイルを作成します。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
    <shape Android:shape="oval">
        <solid Android:color="@color/orange"/>
    </shape>
</item>
<item
    Android:top="2dp"
    Android:bottom="2dp"
    Android:left="2dp"
    Android:right="2dp">
    <shape Android:shape="oval">
        <solid Android:color="@color/white"/>
    </shape>
</item>
<item
    Android:drawable="@drawable/messages" //here messages is my image name, please give here your image name.
    Android:bottom="15dp"
    Android:left="15dp"
    Android:right="15dp"
    Android:top="15dp"/>

次にレイアウトフォルダにビューの.xmlファイルを作成し、この方法で上記の.xmlファイルを呼び出します。

<ImageView
   Android:id="@+id/imageView2"
   Android:layout_width="wrap_content"
   Android:layout_height="wrap_content"
   Android:src="@drawable/merchant_circle" />  // here merchant_circle will be your first .xml file name
4
Masum

これはコーナー画像です

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">

<item Android:drawable="@drawable/img_main_blue"
    Android:top="5dp"
    Android:bottom="5dp"
    Android:right="5dp"
    Android:left="5dp"/>

<item>
<shape Android:shape="rectangle" Android:padding="10dp">
        <corners Android:radius="10dp"/>
        <stroke Android:width="5dp"
            Android:color="@color/white"/>
</shape>

</item>

</layer-list>
4
Mohsen Mdb

これはあなたのイメージのためのカスタム形状を得るためのもう一つの最も簡単な方法です(イメージビュー)。誰かに役立つかもしれません。それは単一行コードです。

まず依存関係を追加する必要があります。

dependencies {
    compile 'com.mafstech.libs:mafs-image-shape:1.0.4'   
}

そして、このようなコードを書くだけです。

Shaper.shape(context, 
       R.drawable.your_original_image_which_will_be_displayed, 
       R.drawable.shaped_image_your_original_image_will_get_this_images_shape,
       imageView,
       height, 
       weight);   
1
Mafujul