|
20 | 20 | android:layout_width="match_parent" |
21 | 21 | android:layout_height="wrap_content" |
22 | 22 | android:orientation="vertical" |
23 | | - android:paddingStart="16dp" |
24 | | - android:paddingTop="24dp" |
25 | | - android:paddingEnd="16dp"> |
| 23 | + android:paddingHorizontal="16dp" |
| 24 | + android:paddingTop="16dp"> |
26 | 25 |
|
27 | | - <LinearLayout |
| 26 | + <!-- Miku hero banner with particle animation --> |
| 27 | + <com.google.android.material.card.MaterialCardView |
28 | 28 | android:layout_width="match_parent" |
29 | | - android:layout_height="wrap_content" |
30 | | - android:layout_marginBottom="16dp" |
31 | | - android:gravity="center_vertical" |
32 | | - android:orientation="horizontal"> |
| 29 | + android:layout_height="176dp" |
| 30 | + app:cardCornerRadius="28dp" |
| 31 | + app:cardElevation="0dp" |
| 32 | + app:strokeWidth="0dp"> |
| 33 | + |
| 34 | + <ImageView |
| 35 | + android:layout_width="match_parent" |
| 36 | + android:layout_height="match_parent" |
| 37 | + android:scaleType="centerCrop" |
| 38 | + android:src="@drawable/uwu_banner_sheet" |
| 39 | + tools:ignore="ContentDescription" /> |
| 40 | + |
| 41 | + <View |
| 42 | + android:layout_width="match_parent" |
| 43 | + android:layout_height="match_parent" |
| 44 | + android:background="@drawable/bg_about_scrim" /> |
| 45 | + |
| 46 | + <com.neko.particlesdrawable.ParticlesView |
| 47 | + android:id="@+id/particles_view" |
| 48 | + android:layout_width="match_parent" |
| 49 | + android:layout_height="match_parent" |
| 50 | + android:background="#00000000" |
| 51 | + app:dotColor="?attr/colorPrimary" |
| 52 | + app:frameDelayMillis="10" |
| 53 | + app:lineColor="?attr/colorPrimary" |
| 54 | + app:lineDistance="86dp" |
| 55 | + app:lineThickness="1dp" |
| 56 | + app:maxDotRadius="4dp" |
| 57 | + app:minDotRadius="1dp" |
| 58 | + app:numDots="55" |
| 59 | + app:stepMultiplier="1.0" /> |
| 60 | + |
| 61 | + <com.google.android.material.button.MaterialButton |
| 62 | + android:id="@+id/btn_menu" |
| 63 | + style="@style/Widget.Material3.Button.IconButton.Filled" |
| 64 | + android:layout_width="wrap_content" |
| 65 | + android:layout_height="wrap_content" |
| 66 | + android:layout_gravity="top|end" |
| 67 | + android:layout_margin="10dp" |
| 68 | + android:contentDescription="@string/app_settings" |
| 69 | + app:backgroundTint="#40000000" |
| 70 | + app:icon="@drawable/ic_navigation_menu" |
| 71 | + app:iconTint="@android:color/white" /> |
33 | 72 |
|
34 | 73 | <LinearLayout |
35 | | - android:layout_width="0dp" |
| 74 | + android:layout_width="wrap_content" |
36 | 75 | android:layout_height="wrap_content" |
37 | | - android:layout_weight="1" |
38 | | - android:orientation="vertical"> |
| 76 | + android:layout_gravity="bottom|start" |
| 77 | + android:orientation="vertical" |
| 78 | + android:padding="20dp"> |
39 | 79 |
|
40 | 80 | <TextView |
41 | 81 | android:layout_width="wrap_content" |
42 | 82 | android:layout_height="wrap_content" |
43 | 83 | android:text="@string/app_name" |
44 | | - android:textColor="?attr/colorPrimary" |
45 | | - android:textSize="30sp" |
| 84 | + android:textColor="@android:color/white" |
| 85 | + android:textSize="32sp" |
46 | 86 | android:textStyle="bold" /> |
47 | 87 |
|
48 | 88 | <TextView |
49 | 89 | android:layout_width="wrap_content" |
50 | 90 | android:layout_height="wrap_content" |
51 | 91 | android:text="@string/scaffold_subtitle" |
52 | | - android:textColor="?attr/colorOnSurfaceVariant" |
| 92 | + android:textColor="@android:color/white" |
53 | 93 | android:textSize="14sp" /> |
54 | 94 | </LinearLayout> |
| 95 | + </com.google.android.material.card.MaterialCardView> |
| 96 | + |
| 97 | + <!-- Profiles header + add action --> |
| 98 | + <LinearLayout |
| 99 | + android:layout_width="match_parent" |
| 100 | + android:layout_height="wrap_content" |
| 101 | + android:layout_marginTop="20dp" |
| 102 | + android:layout_marginBottom="8dp" |
| 103 | + android:gravity="center_vertical" |
| 104 | + android:orientation="horizontal"> |
| 105 | + |
| 106 | + <TextView |
| 107 | + android:layout_width="0dp" |
| 108 | + android:layout_height="wrap_content" |
| 109 | + android:layout_weight="1" |
| 110 | + android:layout_marginStart="4dp" |
| 111 | + android:text="@string/profiles_header" |
| 112 | + android:textColor="?attr/colorOnSurface" |
| 113 | + android:textSize="18sp" |
| 114 | + android:textStyle="bold" /> |
55 | 115 |
|
56 | 116 | <com.google.android.material.button.MaterialButton |
57 | | - android:id="@+id/btn_menu" |
| 117 | + android:id="@+id/btn_add" |
58 | 118 | style="@style/Widget.Material3.Button.IconButton.Filled.Tonal" |
59 | 119 | android:layout_width="wrap_content" |
60 | 120 | android:layout_height="wrap_content" |
61 | | - android:contentDescription="@string/app_settings" |
62 | | - app:icon="@drawable/ic_navigation_menu" |
| 121 | + android:contentDescription="@string/action_add_profile" |
| 122 | + app:icon="@drawable/ic_baseline_add_24" |
63 | 123 | app:iconTint="?attr/colorPrimary" /> |
64 | 124 | </LinearLayout> |
65 | 125 |
|
66 | | - <!-- Add a subscription / import a config --> |
67 | 126 | <com.google.android.material.card.MaterialCardView |
| 127 | + android:id="@+id/empty_card" |
68 | 128 | android:layout_width="match_parent" |
69 | 129 | android:layout_height="wrap_content" |
| 130 | + android:visibility="gone" |
70 | 131 | app:cardBackgroundColor="?attr/colorSurfaceContainerLow" |
71 | 132 | app:cardCornerRadius="24dp" |
72 | | - app:cardElevation="2dp" |
73 | | - app:strokeWidth="0dp"> |
| 133 | + app:cardElevation="0dp" |
| 134 | + app:strokeWidth="0dp" |
| 135 | + tools:visibility="visible"> |
74 | 136 |
|
75 | | - <LinearLayout |
| 137 | + <TextView |
| 138 | + android:id="@+id/tv_empty" |
76 | 139 | android:layout_width="match_parent" |
77 | 140 | android:layout_height="wrap_content" |
78 | | - android:orientation="vertical" |
79 | | - android:padding="16dp"> |
80 | | - |
81 | | - <com.google.android.material.textfield.TextInputLayout |
82 | | - android:layout_width="match_parent" |
83 | | - android:layout_height="wrap_content" |
84 | | - style="@style/Widget.Material3.TextInputLayout.OutlinedBox"> |
85 | | - |
86 | | - <com.google.android.material.textfield.TextInputEditText |
87 | | - android:id="@+id/et_sub_url" |
88 | | - android:layout_width="match_parent" |
89 | | - android:layout_height="wrap_content" |
90 | | - android:hint="@string/hint_subscription_url" |
91 | | - android:inputType="textUri" |
92 | | - android:maxLines="1" /> |
93 | | - </com.google.android.material.textfield.TextInputLayout> |
94 | | - |
95 | | - <com.google.android.material.textfield.TextInputLayout |
96 | | - android:layout_width="match_parent" |
97 | | - android:layout_height="wrap_content" |
98 | | - android:layout_marginTop="8dp" |
99 | | - style="@style/Widget.Material3.TextInputLayout.OutlinedBox"> |
100 | | - |
101 | | - <com.google.android.material.textfield.TextInputEditText |
102 | | - android:id="@+id/et_name" |
103 | | - android:layout_width="match_parent" |
104 | | - android:layout_height="wrap_content" |
105 | | - android:hint="@string/hint_profile_name" |
106 | | - android:inputType="text" |
107 | | - android:maxLines="1" /> |
108 | | - </com.google.android.material.textfield.TextInputLayout> |
109 | | - |
110 | | - <com.google.android.material.button.MaterialButton |
111 | | - android:id="@+id/btn_add_sub" |
112 | | - android:layout_width="match_parent" |
113 | | - android:layout_height="wrap_content" |
114 | | - android:layout_marginTop="8dp" |
115 | | - android:text="@string/action_add_subscription" /> |
116 | | - |
117 | | - <com.google.android.material.button.MaterialButton |
118 | | - android:id="@+id/btn_import_clipboard" |
119 | | - style="@style/Widget.Material3.Button.OutlinedButton" |
120 | | - android:layout_width="match_parent" |
121 | | - android:layout_height="wrap_content" |
122 | | - android:text="@string/action_import_clipboard" /> |
123 | | - </LinearLayout> |
| 141 | + android:gravity="center" |
| 142 | + android:padding="28dp" |
| 143 | + android:text="@string/profiles_empty" |
| 144 | + android:textColor="?attr/colorOnSurfaceVariant" |
| 145 | + android:textSize="14sp" /> |
124 | 146 | </com.google.android.material.card.MaterialCardView> |
125 | 147 |
|
126 | | - <TextView |
127 | | - android:layout_width="wrap_content" |
128 | | - android:layout_height="wrap_content" |
129 | | - android:layout_marginTop="20dp" |
130 | | - android:layout_marginStart="4dp" |
131 | | - android:layout_marginBottom="4dp" |
132 | | - android:text="@string/profiles_header" |
133 | | - android:textColor="?attr/colorOnSurface" |
134 | | - android:textSize="16sp" |
135 | | - android:textStyle="bold" /> |
136 | | - |
137 | | - <TextView |
138 | | - android:id="@+id/tv_empty" |
139 | | - android:layout_width="match_parent" |
140 | | - android:layout_height="wrap_content" |
141 | | - android:layout_marginStart="4dp" |
142 | | - android:text="@string/profiles_empty" |
143 | | - android:textColor="?attr/colorOnSurfaceVariant" |
144 | | - android:visibility="gone" /> |
145 | | - |
146 | 148 | <androidx.recyclerview.widget.RecyclerView |
147 | 149 | android:id="@+id/rv_profiles" |
148 | 150 | android:layout_width="match_parent" |
|
0 commit comments