ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • android Ripple Effect
    android 2021. 3. 24. 14:41
    728x90

    안드로이드 5.0에서 처음 등장한 기능이다.

     

    각 버튼에 적용하는 방법은 아래와 같이 버튼에 적용하고

    android:background="?android:attr/selectableItemBackground"

     

    SDK 21 버전 이상이면 아래와 같이 작성하여 전체 버튼에 적용가능한다.

    <style name="Theme.TysonTimer" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    	<!-- Primary brand color. -->
    		<item name="colorPrimary">@color/purple_500</item>
            <item name="colorPrimaryVariant">@color/purple_700</item>
            <item name="colorOnPrimary">@color/white</item>
            <!-- Secondary brand color. -->
            <item name="colorSecondary">@color/teal_200</item>
            <item name="colorSecondaryVariant">@color/teal_700</item>
            <item name="colorOnSecondary">@color/black</item>
            <!-- Status bar color. -->
            <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
            
            <!-- Customize your theme here. -->
            <item name="android:colorControlHighlight">@color/colorPrimaryDark</item>        
    </style>

     

    21 버전 이상에서 custom style로 적용하는 방법은

     

    drawable 아래에 커스텀 속성을 작성할 xml을 만든후 아래 처럼 작성하면 된다.

    <?xml version="1.0" encoding="utf-8"?>
    <ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="#ffff00"
        >
        <item android:id="@+id/mask">
            <shape android:shape="rectangle">
                <solid android:color="#ffff00" />
            </shape>
            <corners android:radius="2dp"/>
        </item>
        <item android:id="@+id/background">
            <shape android:shape="rectangle">
                <gradient
                    android:angle="90"
                    android:startColor="@android:color/white"
                    android:endColor="@android:color/white"
                    android:type="linear"
                    />
                <corners android:radius="2dp"/>
            </shape>
        </item>
    </ripple>

     

    반응형

    댓글

Designed by Tistory.