Fancy toggle button for main menu
This commit is contained in:
parent
1691891a4d
commit
fafe7e2cd5
11 changed files with 109 additions and 19 deletions
5
app/src/main/res/color/toggle_button_bg.xml
Normal file
5
app/src/main/res/color/toggle_button_bg.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_checked="true" android:color="?attr/colorPrimary"/>
|
||||
<item android:color="?attr/colorSurfaceContainer"/>
|
||||
</selector>
|
5
app/src/main/res/color/toggle_button_icon.xml
Normal file
5
app/src/main/res/color/toggle_button_icon.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_checked="true" android:color="?attr/colorOnPrimaryContainer"/>
|
||||
<item android:color="?attr/colorOnSurfaceVariant"/>
|
||||
</selector>
|
9
app/src/main/res/drawable/ic_power_settings_new_24.xml
Normal file
9
app/src/main/res/drawable/ic_power_settings_new_24.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M13,3h-2v10h2L13,3zM17.83,5.17l-1.42,1.42C17.99,7.86 19,9.81 19,12c0,3.87 -3.13,7 -7,7s-7,-3.13 -7,-7c0,-2.19 1.01,-4.14 2.58,-5.42L6.17,5.17C4.23,6.82 3,9.26 3,12c0,4.97 4.03,9 9,9s9,-4.03 9,-9c0,-2.74 -1.23,-5.18 -3.17,-6.83z"/>
|
||||
</vector>
|
13
app/src/main/res/drawable/toggle_button_bg.xml
Normal file
13
app/src/main/res/drawable/toggle_button_bg.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_checked="true">
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="?attr/colorPrimary" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="?attr/colorSurfaceContainerLowest" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
8
app/src/main/res/drawable/toggle_button_bg_outline.xml
Normal file
8
app/src/main/res/drawable/toggle_button_bg_outline.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="?attr/colorSurfaceContainerLowest" />
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="?attr/colorOutline"/>
|
||||
</shape>
|
|
@ -1,12 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center">
|
||||
|
||||
<ToggleButton
|
||||
<View
|
||||
android:layout_width="104dp"
|
||||
android:layout_height="104dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/toggle_button_bg_outline" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/toggle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16sp" />
|
||||
android:layout_width="96dp"
|
||||
android:layout_height="96dp"
|
||||
android:layout_gravity="center"
|
||||
android:checkable="true"
|
||||
android:insetTop="0dp"
|
||||
android:insetBottom="0dp"
|
||||
android:insetLeft="0dp"
|
||||
android:insetRight="0dp"
|
||||
android:text=""
|
||||
app:icon="@drawable/ic_power_settings_new_24"
|
||||
app:iconTint="@color/toggle_button_icon"
|
||||
app:backgroundTint="@color/toggle_button_bg"
|
||||
app:iconSize="48dp"
|
||||
app:iconGravity="textTop"
|
||||
app:iconPadding="0dp"
|
||||
app:cornerRadius="48dp" />
|
||||
</FrameLayout>
|
||||
|
|
7
app/src/main/res/values/styles.xml
Normal file
7
app/src/main/res/values/styles.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="RoundIconShape" parent="">
|
||||
<item name="cornerFamily">rounded</item>
|
||||
<item name="cornerSize">100%</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -8,8 +8,9 @@
|
|||
<item name="colorSecondary">@color/teal_200</item>
|
||||
<item name="colorOnSecondary">@color/black</item>
|
||||
|
||||
<item name="colorSurface">@color/white</item>
|
||||
<item name="colorSurface">@color/white</item>
|
||||
<item name="colorOnSurface">@color/black</item>
|
||||
<item name="textAppearanceBodyMedium">@style/TextAppearance.Material3.BodyMedium</item>
|
||||
<item name="colorSurfaceContainerLowest">?attr/colorSurfaceContainerLowest</item>
|
||||
</style>
|
||||
</resources>
|
Loading…
Add table
Add a link
Reference in a new issue