アプリ作って海外移住

コピペプログラマーのメモ

shape 例

パディングは、下記の例で、赤いボーダーラインと内側のコンテンツとの間の隙間に相当します。赤いボーダーラインと周りのコンテンツとの間の隙間(マージン)を指定するにはmarginを指定します。

 

 

<padding
        android:left="5dp"
        android:right="5dp"
        android:top="5dp"
        android:bottom="5dp"/>
      

 

 

 

 

 

 

 

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
   
     <!-- タップされてないときの設定 -->
    <item android:state_pressed="false">
   
    <layer-list  >
   <!-- 枠線付き長方形 -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#C1C1C1"/>
            <stroke android:width="2dp" android:color="#999999" />
            <corners android:radius="6dp" />
        </shape>
    </item>
 
    <!-- 2dp分の padding を設定した枠線なし長方形 -->
    <item android:bottom="2dp" android:right="2dp">
        <shape android:shape="rectangle">
           
            <stroke android:width="1dp" android:color="#000000" />
           <solid android:color="#C1C1C1"/>   
             <corners android:radius="4dp" />
        <gradient
                android:startColor="#9C9C9C"
                android:endColor="#ffffff"
                android:angle="90" />   
       
        </shape>
    </item>

    </layer-list>
    </item>
   
   
    <!-- タップされたときの設定 -->
    <item android:state_pressed="true">
    <layer-list  >
   <!-- 枠線付き長方形 -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF"/>
            <stroke android:width="2dp" android:color="#666666" />
            <corners android:radius="4dp" />
        </shape>
    </item>
 
    <!-- 2dp分の padding を設定した枠線なし長方形 -->
    <item android:bottom="2dp" android:right="2dp">
        <shape android:shape="rectangle">
           
            <stroke android:width="1dp" android:color="#ffffff" />
            <solid android:color="#E57627"/>
             <corners android:radius="4dp" />
        </shape>
    </item>

    </layer-list>
    </item>
   
   
</selector>

 

 

////////////////////////////////////////////////////////////////////////////////////

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle" // rectangle | oval | line | ring
>
 
<!-- 角を丸める -->
<corners
 android:radius="5dp" // すべての角を半径5pxの円で丸める
 android:topLeftRadius="5dp" // 左上の角を半径5pxの円で丸める
 android:topRightRadius="5dp" // 右上の角を半径5pxの円で丸める
 android:bottomLeftRadius="5dp" // 左下の角を半径5pxの円で丸める
 android:bottomRightRadius="5dp" // 左下の角を半径5pxの円で丸める
/>
 
<!-- グラデーション -->
<gradient
 android:angle="270" // グラデの角度(3時を基準として時計回り)
 android:startColor="@color/white" // この色から、
 android:centerColor="@color/blue" // この色を通って、
 android:endColor="@color/black" // この色へグラデーションする
 android:type="linear" // linear | radial | sweep
 android:centerX="0.5" // グラデの中心のX座標割合(0~1.0) radial,sweepで有効
 android:centerY="0.5" // グラデの中心のY座標割合(0~1.0) radial,sweepで有効
 android:gradientRadius="10" // radialで有効
 android:usesLevel="true" // LevelListDrawableを使用するか
/>
 
<!-- パディング -->
<padding
 android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp"
/>
 
<!-- この形状の幅と高さ -->
<size
 android:width="100dp" android:height="100dp"
/>
 
<!-- この形状の色 -->
<solid
 android:color="@color/black"
/>
 
<!-- 枠線 -->
<stroke
 android:width="3dp" // 枠の幅
 android:color="@color/gray" // 枠の色
 android:dashWidth="5dp" // 点線枠の幅
 android:dashGap="1dp" // 点線枠の間隔
/>

</shape>