Showing
15 changed files
with
318 additions
and
3 deletions
... | @@ -3,7 +3,10 @@ package ly.warp.sdk.activities; | ... | @@ -3,7 +3,10 @@ package ly.warp.sdk.activities; |
3 | import android.app.Activity; | 3 | import android.app.Activity; |
4 | import android.os.Bundle; | 4 | import android.os.Bundle; |
5 | import android.view.View; | 5 | import android.view.View; |
6 | +import android.widget.AdapterView; | ||
7 | +import android.widget.ArrayAdapter; | ||
6 | import android.widget.ImageView; | 8 | import android.widget.ImageView; |
9 | +import android.widget.Spinner; | ||
7 | 10 | ||
8 | import androidx.recyclerview.widget.LinearLayoutManager; | 11 | import androidx.recyclerview.widget.LinearLayoutManager; |
9 | import androidx.recyclerview.widget.RecyclerView; | 12 | import androidx.recyclerview.widget.RecyclerView; |
... | @@ -16,7 +19,8 @@ import ly.warp.sdk.io.models.CouponList; | ... | @@ -16,7 +19,8 @@ import ly.warp.sdk.io.models.CouponList; |
16 | import ly.warp.sdk.views.adapters.HomeCouponAdapter; | 19 | import ly.warp.sdk.views.adapters.HomeCouponAdapter; |
17 | 20 | ||
18 | 21 | ||
19 | -public class LoyaltyActivity extends Activity implements View.OnClickListener { | 22 | +public class LoyaltyActivity extends Activity implements View.OnClickListener, |
23 | + AdapterView.OnItemSelectedListener { | ||
20 | 24 | ||
21 | // =========================================================== | 25 | // =========================================================== |
22 | // Constants | 26 | // Constants |
... | @@ -27,8 +31,9 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { | ... | @@ -27,8 +31,9 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { |
27 | // =========================================================== | 31 | // =========================================================== |
28 | 32 | ||
29 | private ImageView mIvBack; | 33 | private ImageView mIvBack; |
30 | - private RecyclerView mRecyclerCoupons ,mRecyclerBurntCoupons; | 34 | + private RecyclerView mRecyclerCoupons, mRecyclerBurntCoupons; |
31 | private HomeCouponAdapter mAdapterCoupons, mAdapterBurntCoupons; | 35 | private HomeCouponAdapter mAdapterCoupons, mAdapterBurntCoupons; |
36 | + private Spinner mCouponSpinner, mRedemptionSpinner; | ||
32 | 37 | ||
33 | // =========================================================== | 38 | // =========================================================== |
34 | // Methods for/from SuperClass/Interfaces | 39 | // Methods for/from SuperClass/Interfaces |
... | @@ -43,6 +48,8 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { | ... | @@ -43,6 +48,8 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { |
43 | 48 | ||
44 | mRecyclerCoupons = findViewById(R.id.rv_loyalty_coupons); | 49 | mRecyclerCoupons = findViewById(R.id.rv_loyalty_coupons); |
45 | mRecyclerBurntCoupons = findViewById(R.id.rv_loyalty_burnt_coupons); | 50 | mRecyclerBurntCoupons = findViewById(R.id.rv_loyalty_burnt_coupons); |
51 | + mCouponSpinner = findViewById(R.id.sp_coupons); | ||
52 | + mRedemptionSpinner = findViewById(R.id.sp_redemption); | ||
46 | 53 | ||
47 | initViews(); | 54 | initViews(); |
48 | } | 55 | } |
... | @@ -59,6 +66,16 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { | ... | @@ -59,6 +66,16 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { |
59 | } | 66 | } |
60 | } | 67 | } |
61 | 68 | ||
69 | + @Override | ||
70 | + public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { | ||
71 | + // parent.getItemAtPosition(pos) | ||
72 | + } | ||
73 | + | ||
74 | + @Override | ||
75 | + public void onNothingSelected(AdapterView<?> parent) { | ||
76 | + | ||
77 | + } | ||
78 | + | ||
62 | // =========================================================== | 79 | // =========================================================== |
63 | // Methods | 80 | // Methods |
64 | // =========================================================== | 81 | // =========================================================== |
... | @@ -90,6 +107,18 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { | ... | @@ -90,6 +107,18 @@ public class LoyaltyActivity extends Activity implements View.OnClickListener { |
90 | mRecyclerBurntCoupons.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)); | 107 | mRecyclerBurntCoupons.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)); |
91 | mAdapterBurntCoupons = new HomeCouponAdapter(this, clist, true); | 108 | mAdapterBurntCoupons = new HomeCouponAdapter(this, clist, true); |
92 | mRecyclerBurntCoupons.setAdapter(mAdapterBurntCoupons); | 109 | mRecyclerBurntCoupons.setAdapter(mAdapterBurntCoupons); |
110 | + | ||
111 | + ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, | ||
112 | + R.array.coupons_array, R.layout.spinner_item); | ||
113 | + adapter.setDropDownViewResource(R.layout.spinner_dropdown_item_grey); | ||
114 | + mCouponSpinner.setAdapter(adapter); | ||
115 | + mCouponSpinner.setOnItemSelectedListener(this); | ||
116 | + | ||
117 | + ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, | ||
118 | + R.array.redemption_array, R.layout.spinner_item); | ||
119 | + adapter2.setDropDownViewResource(R.layout.spinner_dropdown_item_sky_blue); | ||
120 | + mRedemptionSpinner.setAdapter(adapter2); | ||
121 | + mRedemptionSpinner.setOnItemSelectedListener(this); | ||
93 | } | 122 | } |
94 | 123 | ||
95 | // =========================================================== | 124 | // =========================================================== | ... | ... |
789 Bytes
744 Bytes
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + <item> | ||
4 | + <shape android:shape="rectangle"> | ||
5 | + <gradient | ||
6 | + android:angle="91" | ||
7 | + android:endColor="#C4F187" | ||
8 | + android:startColor="#8EF593" /> | ||
9 | + | ||
10 | + </shape> | ||
11 | + </item> | ||
12 | + | ||
13 | + <item android:bottom="4dp"> | ||
14 | + <shape android:shape="rectangle"> | ||
15 | + <solid android:color="@android:color/white" /> | ||
16 | + </shape> | ||
17 | + </item> | ||
18 | + | ||
19 | +</layer-list> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + <item> | ||
4 | + <shape android:shape="rectangle"> | ||
5 | + <gradient | ||
6 | + android:angle="91" | ||
7 | + android:endColor="@android:color/transparent" | ||
8 | + android:startColor="@android:color/transparent" /> | ||
9 | + | ||
10 | + </shape> | ||
11 | + </item> | ||
12 | + | ||
13 | + <item android:bottom="4dp"> | ||
14 | + <shape android:shape="rectangle"> | ||
15 | + <solid android:color="@android:color/white" /> | ||
16 | + </shape> | ||
17 | + </item> | ||
18 | + | ||
19 | +</layer-list> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + <item android:state_selected="false"> | ||
4 | + <layer-list> | ||
5 | + <item> | ||
6 | + <shape> | ||
7 | + <solid android:color="#F5F5F5" /> | ||
8 | + <corners android:radius="8dp" /> | ||
9 | + <padding | ||
10 | + android:left="5dp" | ||
11 | + android:top="5dp" | ||
12 | + android:right="5dp" | ||
13 | + android:bottom="5dp" /> | ||
14 | + </shape> | ||
15 | + </item> | ||
16 | + | ||
17 | + <item> | ||
18 | + <bitmap android:gravity="center_vertical|right" android:src="@drawable/ic_down" /> | ||
19 | + </item> | ||
20 | + </layer-list> | ||
21 | + </item> | ||
22 | + | ||
23 | + <item android:state_selected="true"> | ||
24 | + <layer-list> | ||
25 | + <item> | ||
26 | + <shape> | ||
27 | + <solid android:color="#F5F5F5" /> | ||
28 | + <corners android:radius="8dp" /> | ||
29 | + </shape> | ||
30 | + </item> | ||
31 | + | ||
32 | + <item> | ||
33 | + <bitmap android:gravity="center_vertical|right" android:src="@drawable/ic_up" /> | ||
34 | + </item> | ||
35 | + </layer-list> | ||
36 | + </item> | ||
37 | +</selector> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -136,13 +136,76 @@ | ... | @@ -136,13 +136,76 @@ |
136 | </RelativeLayout> | 136 | </RelativeLayout> |
137 | 137 | ||
138 | <RelativeLayout | 138 | <RelativeLayout |
139 | + android:id="@+id/rl_analysis_row" | ||
140 | + android:layout_width="match_parent" | ||
141 | + android:layout_height="wrap_content" | ||
142 | + android:layout_marginTop="40dp" | ||
143 | + app:layout_constraintEnd_toEndOf="parent" | ||
144 | + app:layout_constraintStart_toStartOf="parent" | ||
145 | + app:layout_constraintTop_toBottomOf="@+id/rl_gifts_row"> | ||
146 | + | ||
147 | + <TextView | ||
148 | + android:id="@+id/tv_analysis_loyalty_title" | ||
149 | + android:layout_width="wrap_content" | ||
150 | + android:layout_height="wrap_content" | ||
151 | + android:layout_marginStart="10dp" | ||
152 | + android:text="Ανάλυση" | ||
153 | + android:textColor="@color/grey" | ||
154 | + android:textSize="18sp" | ||
155 | + android:textStyle="bold" /> | ||
156 | + | ||
157 | + <RelativeLayout | ||
158 | + android:layout_width="match_parent" | ||
159 | + android:layout_height="wrap_content" | ||
160 | + android:layout_below="@+id/tv_analysis_loyalty_title" | ||
161 | + android:layout_marginHorizontal="16dp" | ||
162 | + android:layout_marginTop="24dp" | ||
163 | + android:background="@drawable/shape_cos_white" | ||
164 | + android:paddingHorizontal="16dp" | ||
165 | + android:paddingVertical="24dp"> | ||
166 | + | ||
167 | + <Spinner | ||
168 | + android:id="@+id/sp_coupons" | ||
169 | + android:layout_width="match_parent" | ||
170 | + android:layout_height="60dp" | ||
171 | + android:layout_centerHorizontal="true" | ||
172 | + android:background="@drawable/shape_cos_grey" | ||
173 | + android:dropDownVerticalOffset="62dp" | ||
174 | + android:popupBackground="@drawable/shape_cos_grey" | ||
175 | + android:popupElevation="1dp" | ||
176 | + android:spinnerMode="dropdown" /> | ||
177 | + | ||
178 | + <include | ||
179 | + android:id="@+id/cl_tab_analysis" | ||
180 | + layout="@layout/tab_analysis" | ||
181 | + android:layout_width="match_parent" | ||
182 | + android:layout_height="wrap_content" | ||
183 | + android:layout_below="@+id/sp_coupons" | ||
184 | + android:layout_marginTop="32dp" /> | ||
185 | + | ||
186 | + <Spinner | ||
187 | + android:id="@+id/sp_redemption" | ||
188 | + android:layout_width="match_parent" | ||
189 | + android:layout_height="60dp" | ||
190 | + android:layout_below="@+id/cl_tab_analysis" | ||
191 | + android:layout_centerHorizontal="true" | ||
192 | + android:layout_marginTop="32dp" | ||
193 | + android:background="@drawable/shape_cos_sky_blue" | ||
194 | + android:dropDownVerticalOffset="62dp" | ||
195 | + android:popupBackground="@drawable/shape_cos_sky_blue" | ||
196 | + android:popupElevation="1dp" | ||
197 | + android:spinnerMode="dropdown" /> | ||
198 | + </RelativeLayout> | ||
199 | + </RelativeLayout> | ||
200 | + | ||
201 | + <RelativeLayout | ||
139 | android:id="@+id/rl_burnt_coupons_row" | 202 | android:id="@+id/rl_burnt_coupons_row" |
140 | android:layout_width="match_parent" | 203 | android:layout_width="match_parent" |
141 | android:layout_height="wrap_content" | 204 | android:layout_height="wrap_content" |
142 | android:layout_marginTop="32dp" | 205 | android:layout_marginTop="32dp" |
143 | app:layout_constraintEnd_toEndOf="parent" | 206 | app:layout_constraintEnd_toEndOf="parent" |
144 | app:layout_constraintStart_toStartOf="parent" | 207 | app:layout_constraintStart_toStartOf="parent" |
145 | - app:layout_constraintTop_toBottomOf="@+id/rl_gifts_row"> | 208 | + app:layout_constraintTop_toBottomOf="@+id/rl_analysis_row"> |
146 | 209 | ||
147 | <TextView | 210 | <TextView |
148 | android:id="@+id/tv_burnt_coupons_loyalty_title" | 211 | android:id="@+id/tv_burnt_coupons_loyalty_title" | ... | ... |
1 | +<?xml version="1.0" encoding="utf-8"?><!-- | ||
2 | +/* //device/apps/common/assets/res/any/layout/simple_spinner_item.xml | ||
3 | +** | ||
4 | +** Copyright 2008, The Android Open Source Project | ||
5 | +** | ||
6 | +** Licensed under the Apache License, Version 2.0 (the "License") | ||
7 | +** you may not use this file except in compliance with the License. | ||
8 | +** You may obtain a copy of the License at | ||
9 | +** | ||
10 | +** http://www.apache.org/licenses/LICENSE-2.0 | ||
11 | +** | ||
12 | +** Unless required by applicable law or agreed to in writing, software | ||
13 | +** distributed under the License is distributed on an "AS IS" BASIS, | ||
14 | +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
15 | +** See the License for the specific language governing permissions and | ||
16 | +** limitations under the License. | ||
17 | +*/ | ||
18 | +--> | ||
19 | +<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" | ||
20 | + xmlns:tools="http://schemas.android.com/tools" | ||
21 | + android:id="@android:id/text1" | ||
22 | + android:layout_width="match_parent" | ||
23 | + android:layout_height="60dp" | ||
24 | + android:ellipsize="marquee" | ||
25 | + android:gravity="center" | ||
26 | + android:singleLine="true" | ||
27 | + android:textColor="#3C3B48" | ||
28 | + android:textSize="16sp" | ||
29 | + tools:text="Test Spinner Dropdown" /> |
1 | +<?xml version="1.0" encoding="utf-8"?><!-- | ||
2 | +/* //device/apps/common/assets/res/any/layout/simple_spinner_item.xml | ||
3 | +** | ||
4 | +** Copyright 2008, The Android Open Source Project | ||
5 | +** | ||
6 | +** Licensed under the Apache License, Version 2.0 (the "License") | ||
7 | +** you may not use this file except in compliance with the License. | ||
8 | +** You may obtain a copy of the License at | ||
9 | +** | ||
10 | +** http://www.apache.org/licenses/LICENSE-2.0 | ||
11 | +** | ||
12 | +** Unless required by applicable law or agreed to in writing, software | ||
13 | +** distributed under the License is distributed on an "AS IS" BASIS, | ||
14 | +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
15 | +** See the License for the specific language governing permissions and | ||
16 | +** limitations under the License. | ||
17 | +*/ | ||
18 | +--> | ||
19 | +<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" | ||
20 | + xmlns:tools="http://schemas.android.com/tools" | ||
21 | + android:id="@android:id/text1" | ||
22 | + android:layout_width="match_parent" | ||
23 | + android:layout_height="60dp" | ||
24 | + android:ellipsize="marquee" | ||
25 | + android:gravity="center" | ||
26 | + android:singleLine="true" | ||
27 | + android:textColor="#3C3B48" | ||
28 | + android:textSize="16sp" | ||
29 | + tools:text="Test Spinner Dropdown" /> |
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<TextView xmlns:android="http://schemas.android.com/apk/res/android" | ||
3 | + xmlns:tools="http://schemas.android.com/tools" | ||
4 | + android:id="@android:id/text1" | ||
5 | + android:layout_width="match_parent" | ||
6 | + android:layout_height="wrap_content" | ||
7 | + android:ellipsize="marquee" | ||
8 | + android:singleLine="true" | ||
9 | + android:drawableEnd="@drawable/ic_down" | ||
10 | + android:paddingHorizontal="16dp" | ||
11 | + android:textAlignment="inherit" | ||
12 | + android:textColor="#3C3B48" | ||
13 | + android:textSize="16sp" | ||
14 | + android:textStyle="bold" | ||
15 | + tools:text="Test Spinner" /> |
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
3 | + xmlns:app="http://schemas.android.com/apk/res-auto" | ||
4 | + android:layout_width="match_parent" | ||
5 | + android:layout_height="wrap_content"> | ||
6 | + | ||
7 | + <TextView | ||
8 | + android:id="@+id/tv_month" | ||
9 | + android:layout_width="wrap_content" | ||
10 | + android:layout_height="wrap_content" | ||
11 | + android:background="@drawable/bottom_border_gradient" | ||
12 | + android:text="ΜΗΝΙΑΙΑ" | ||
13 | + android:textColor="@color/grey" | ||
14 | + android:textSize="18sp" | ||
15 | + android:textStyle="bold" | ||
16 | + app:layout_constraintBottom_toBottomOf="parent" | ||
17 | + app:layout_constraintHorizontal_bias="0.0" | ||
18 | + app:layout_constraintStart_toStartOf="parent" | ||
19 | + app:layout_constraintTop_toTopOf="parent" /> | ||
20 | + | ||
21 | + <TextView | ||
22 | + android:id="@+id/tv_six_month" | ||
23 | + android:layout_width="wrap_content" | ||
24 | + android:layout_height="wrap_content" | ||
25 | + android:background="@drawable/bottom_border_transparent" | ||
26 | + android:text="6ΜΗΝΟ" | ||
27 | + android:textColor="@color/grey" | ||
28 | + android:textSize="18sp" | ||
29 | + android:textStyle="bold" | ||
30 | + app:layout_constraintBottom_toBottomOf="parent" | ||
31 | + app:layout_constraintEnd_toStartOf="@+id/tv_twelve_month" | ||
32 | + app:layout_constraintStart_toEndOf="@+id/tv_month" | ||
33 | + app:layout_constraintTop_toTopOf="parent" /> | ||
34 | + | ||
35 | + <TextView | ||
36 | + android:id="@+id/tv_twelve_month" | ||
37 | + android:layout_width="wrap_content" | ||
38 | + android:layout_height="wrap_content" | ||
39 | + android:background="@drawable/bottom_border_transparent" | ||
40 | + android:text="12ΜΗΝΟ" | ||
41 | + android:textColor="@color/grey" | ||
42 | + android:textSize="18sp" | ||
43 | + android:textStyle="bold" | ||
44 | + app:layout_constraintBottom_toBottomOf="parent" | ||
45 | + app:layout_constraintEnd_toEndOf="parent" | ||
46 | + app:layout_constraintTop_toTopOf="parent" /> | ||
47 | +</androidx.constraintlayout.widget.ConstraintLayout> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -24,4 +24,14 @@ | ... | @@ -24,4 +24,14 @@ |
24 | <string name="cos_questionnaire">Ερωτηματολόγιο</string> | 24 | <string name="cos_questionnaire">Ερωτηματολόγιο</string> |
25 | <string name="cos_gifts_loyalty_title">Τα δώρα μου</string> | 25 | <string name="cos_gifts_loyalty_title">Τα δώρα μου</string> |
26 | <string name="cos_coupons_loyalty_title">Ενεργά κουπόνια</string> | 26 | <string name="cos_coupons_loyalty_title">Ενεργά κουπόνια</string> |
27 | + | ||
28 | + <string-array name="coupons_array"> | ||
29 | + <item>Κουπόνια</item> | ||
30 | + <item>Δώρα</item> | ||
31 | + </string-array> | ||
32 | + | ||
33 | + <string-array name="redemption_array"> | ||
34 | + <item>Εξαργύρωση</item> | ||
35 | + <item>Επιστροφή</item> | ||
36 | + </string-array> | ||
27 | </resources> | 37 | </resources> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -28,4 +28,8 @@ | ... | @@ -28,4 +28,8 @@ |
28 | <item name="android:textSize">14sp</item> | 28 | <item name="android:textSize">14sp</item> |
29 | </style> | 29 | </style> |
30 | 30 | ||
31 | + <style name="SpinnerTheme" parent="android:Widget.Spinner"> | ||
32 | + <item name="android:background">@drawable/selector_spinner_arrow</item> | ||
33 | + </style> | ||
34 | + | ||
31 | </resources> | 35 | </resources> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment