Browse Source

[마이][New] 북마크 스피너 모양 변경

hyodong.min 7 years ago
parent
commit
1f16af0f0b

+ 16 - 12
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/SortArrayAdapter.java

@@ -17,7 +17,7 @@ import java.util.List;
 import kr.co.zumo.app.R;
 
 /**
- * SortArrayAdapter
+ * FocusArrayAdapter
  * <pre>
  * </pre>
  *
@@ -26,31 +26,32 @@ import kr.co.zumo.app.R;
  * @history 민효동   [2018-12-08]   [최초 작성]
  * @since 2018-12-08
  */
-public class SortArrayAdapter extends ArrayAdapter<String> {
+public class FocusArrayAdapter extends ArrayAdapter<String> {
 
   private int selectedIndex;
 
-  public SortArrayAdapter(@NonNull Context context, int resource) {
+  public FocusArrayAdapter(@NonNull Context context, int resource) {
     super(context, resource);
   }
 
-  public SortArrayAdapter(@NonNull Context context, int resource, int textViewResourceId) {
+  public FocusArrayAdapter(@NonNull Context context, int resource, int textViewResourceId) {
     super(context, resource, textViewResourceId);
   }
 
-  public SortArrayAdapter(@NonNull Context context, int resource, @NonNull String[] objects) {
+  public FocusArrayAdapter(@NonNull Context context, int resource, @NonNull String[] objects) {
     super(context, resource, objects);
   }
 
-  public SortArrayAdapter(@NonNull Context context, int resource, int textViewResourceId, @NonNull String[] objects) {
+  public FocusArrayAdapter(@NonNull Context context, int resource, int textViewResourceId, @NonNull String[] objects) {
     super(context, resource, textViewResourceId, objects);
   }
 
-  public SortArrayAdapter(@NonNull Context context, int resource, @NonNull List<String> objects) {
+  public FocusArrayAdapter(@NonNull Context context, int resource, @NonNull List<String> objects) {
     super(context, resource, objects);
+    setDropDownViewResource(R.layout.spinner_item);
   }
 
-  public SortArrayAdapter(@NonNull Context context, int resource, int textViewResourceId, @NonNull List<String> objects) {
+  public FocusArrayAdapter(@NonNull Context context, int resource, int textViewResourceId, @NonNull List<String> objects) {
     super(context, resource, textViewResourceId, objects);
   }
 
@@ -61,18 +62,21 @@ public class SortArrayAdapter extends ArrayAdapter<String> {
     //초기값 설정
     if (selectedIndex == -1) {
       if (position == 0) {
-        view.setBackgroundColor(getContext().getResources().getColor(R.color.CE5E5E5));
-        ((TextView)view.findViewById(R.id.spinner_text)).setTypeface(null, Typeface.BOLD);
+        setFocus(view);
       }
     }
     //select 된 값 지정
     else if (position == selectedIndex) {
-      view.setBackgroundColor(getContext().getResources().getColor(R.color.CE5E5E5));
-      ((TextView)view.findViewById(R.id.spinner_text)).setTypeface(null, Typeface.BOLD);
+      setFocus(view);
     }
     return view;
   }
 
+  private void setFocus(View view) {
+//      view.setBackgroundColor(getContext().getResources().getColor(R.color.CE5E5E5));
+    ((TextView) view.findViewById(R.id.spinner_text)).setTypeface(null, Typeface.BOLD);
+  }
+
   public void setSelectedIndex(int selectedIndex) {
     this.selectedIndex = selectedIndex;
   }

+ 3 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type1/FirstCategoryMainFragment.java

@@ -28,7 +28,7 @@ import kr.co.zumo.app.lifeplus.view.custom.category.series.IMainSeriesContract;
 import kr.co.zumo.app.lifeplus.view.custom.category.series.MainSeriesPresenter;
 import kr.co.zumo.app.lifeplus.view.custom.category.series.MainSeriesView;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
-import kr.co.zumo.app.lifeplus.view.screen.category.SortArrayAdapter;
+import kr.co.zumo.app.lifeplus.view.screen.category.FocusArrayAdapter;
 import kr.co.zumo.app.lifeplus.view.screen.category.GridItemDecoration;
 import kr.co.zumo.app.lifeplus.view.screen.category.IFirstCategoryMainView;
 
@@ -52,7 +52,7 @@ public class FirstCategoryMainFragment extends FragmentBase<FirstCategoryMainPre
   private IMainSeriesContract.Presenter seriesPresenter;
   private Spinner spinnerOrder;
   private FirstCategoryMainAdapter adapter;
-  private SortArrayAdapter arrayAdapter;
+  private FocusArrayAdapter arrayAdapter;
 
   @Nullable
   @Override
@@ -70,9 +70,8 @@ public class FirstCategoryMainFragment extends FragmentBase<FirstCategoryMainPre
     viewFilter = findViewById(R.id.first_category_main_filter);
     spinnerOrder = findViewById(R.id.spinner_select_contents);
     List<String> spinnerList = Arrays.asList(ResourceUtil.getStringArray("main_filter"));
-    arrayAdapter = new SortArrayAdapter(getActivity(), R.layout.custom_spinner, spinnerList);
+    arrayAdapter = new FocusArrayAdapter(getActivity(), R.layout.custom_spinner, spinnerList);
 
-    arrayAdapter.setDropDownViewResource(R.layout.spinner_item);
     spinnerOrder.setAdapter(arrayAdapter);
   }
 

+ 3 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type2/SecondCategoryMainFragment.java

@@ -29,8 +29,8 @@ import kr.co.zumo.app.lifeplus.view.custom.category.series.IMainSeriesContract;
 import kr.co.zumo.app.lifeplus.view.custom.category.series.MainSeriesPresenter;
 import kr.co.zumo.app.lifeplus.view.custom.category.series.MainSeriesView;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+import kr.co.zumo.app.lifeplus.view.screen.category.FocusArrayAdapter;
 import kr.co.zumo.app.lifeplus.view.screen.category.ISecondCategoryMainView;
-import kr.co.zumo.app.lifeplus.view.screen.category.SortArrayAdapter;
 
 
 /**
@@ -53,7 +53,7 @@ public class SecondCategoryMainFragment extends FragmentBase<SecondCategoryMainP
   private IMainSeriesContract.Presenter seriesPresenter;
   private Spinner spinnerOrder;
   private SecondCategoryMainAdapter adapter;
-  private SortArrayAdapter arrayAdapter;
+  private FocusArrayAdapter arrayAdapter;
 
 
   @Override
@@ -78,9 +78,8 @@ public class SecondCategoryMainFragment extends FragmentBase<SecondCategoryMainP
 
     spinnerOrder = findViewById(R.id.spinner_select_contents);
     List<String> spinnerList = Arrays.asList(ResourceUtil.getStringArray("main_filter"));
-    arrayAdapter = new SortArrayAdapter(getActivity(), R.layout.custom_spinner, spinnerList);
+    arrayAdapter = new FocusArrayAdapter(getActivity(), R.layout.custom_spinner, spinnerList);
 
-    arrayAdapter.setDropDownViewResource(R.layout.spinner_item);
     spinnerOrder.setAdapter(arrayAdapter);}
 
 

+ 0 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type3/ThirdCategoryMainFragment.java

@@ -93,7 +93,6 @@ public class ThirdCategoryMainFragment extends FragmentBase<ThirdCategoryMainPre
       }
     };
 
-    arrayAdapter.setDropDownViewResource(R.layout.spinner_item);
     spinnerOrder.setAdapter(arrayAdapter);
   }
 

+ 0 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type4/FourthCategoryMainFragment.java

@@ -97,7 +97,6 @@ public class FourthCategoryMainFragment extends FragmentBase<FourthCategoryMainP
       }
     };
 
-    arrayAdapter.setDropDownViewResource(R.layout.spinner_item);
     spinnerOrder.setAdapter(arrayAdapter);
   }
 

+ 13 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/BookMarkListFragment.java

@@ -20,8 +20,10 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.AdapterView;
+import android.widget.Spinner;
 import android.widget.TextView;
 
+import java.util.Arrays;
 import java.util.List;
 
 import kr.co.zumo.app.R;
@@ -29,8 +31,8 @@ import kr.co.zumo.app.lifeplus.bean.api.BookmarkBean;
 import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
-import kr.co.zumo.app.lifeplus.view.custom.CustomSpinner;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+import kr.co.zumo.app.lifeplus.view.screen.category.FocusArrayAdapter;
 
 
 /**
@@ -47,7 +49,7 @@ public class BookMarkListFragment extends FragmentBase<BookMarkListPresenter> im
 
   private RecyclerView recyclerView;
   private BookMarkListAdapter bookMarkListAdapter;
-  private CustomSpinner customSpinnerBookmark;
+  private Spinner spinnerBookmark;
   private ConstraintLayout layoutCategory;
   private LinearLayoutManager layoutManager;
   private CoordinatorLayout layoutCoordinator;
@@ -72,15 +74,21 @@ public class BookMarkListFragment extends FragmentBase<BookMarkListPresenter> im
         outRect.top = ResourceUtil.dpToPx(10);
       }
     });
-    customSpinnerBookmark = findViewById(R.id.spinner_book_mark);
+    spinnerBookmark = findViewById(R.id.spinner_book_mark);
     layoutCategory = findViewById(R.id.category_layout);
 
-    customSpinnerBookmark.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+    List<String> spinnerList = Arrays.asList(ResourceUtil.getStringArray("book_mark_sort"));
+    FocusArrayAdapter arrayAdapter = new FocusArrayAdapter(getContext(), R.layout.bookmark_spinner, spinnerList);
+    spinnerBookmark.setAdapter(arrayAdapter);
+
+    spinnerBookmark.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
       @Override
       public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
+        arrayAdapter.setSelectedIndex(position);
+
         // 처음 리스너를 등록하면 발동하여 처음은 스킵
         if (isFirst == false) {
-          if (customSpinnerBookmark.getItemAtPosition(position).equals("카테고리별")) {
+          if (spinnerBookmark.getItemAtPosition(position).equals("카테고리별")) {
             presenter.onEvent(new Event.Builder(Event.SORT).integer(Event.BOOKMARK_CATEGORY).build());
           }
           else {

+ 7 - 11
app/src/main/res/drawable/filter_drop_down.xml

@@ -1,26 +1,22 @@
 <?xml version="1.0"
   encoding="utf-8"?>
 <selector
-  xmlns:app="http://schemas.android.com/apk/res-auto"
-  xmlns:android="http://schemas.android.com/apk/res/android">
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:app="http://schemas.android.com/apk/res-auto">
   <item>
     <layer-list>
       <item>
         <shape>
-          <gradient android:angle="90"
-                    android:endColor="#ffffff"
-                    android:startColor="#ffffff"
-                    android:type="linear" />
 
-          <corners android:radius="5dp" />
+          <solid android:color="@color/CFFFFFF"/>
 
           <padding android:bottom="3dp"
-                   android:left="0dp"
-                   android:right="8dp"
-                   android:top="3dp" />
+                   android:left="3dp"
+                   android:right="0dp"
+                   android:top="3dp"/>
         </shape>
       </item>
-      <item android:gravity="center|right" android:drawable="@drawable/ic_filter_down"/>
+      <item android:drawable="@drawable/ic_filter_down" android:gravity="center|right"/>
     </layer-list>
   </item>
 </selector>

+ 12 - 0
app/src/main/res/layout/bookmark_spinner.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TextView
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  android:id="@android:id/text1"
+  style="?android:attr/spinnerItemStyle"
+  android:layout_width="wrap_content"
+  android:layout_height="wrap_content"
+  android:layout_gravity="end"
+  android:gravity="end"
+  android:drawableRight="@drawable/filter_drop_down"
+  android:singleLine="true"
+  android:textSize="12sp"/>

+ 6 - 10
app/src/main/res/layout/fragment_book_mark_list.xml

@@ -20,7 +20,7 @@
       android:layout_height="match_parent"
       app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlways">
 
-      <kr.co.zumo.app.lifeplus.view.custom.CustomSpinner
+      <Spinner
         android:id="@+id/spinner_book_mark"
         android:layout_width="wrap_content"
         android:layout_height="30dp"
@@ -28,9 +28,9 @@
         android:layout_marginTop="15dp"
         android:layout_marginEnd="15dp"
         android:layout_marginBottom="17dp"
-        android:background="@drawable/spinner_drop_down_triangle"
-        android:entries="@array/book_mark_sort"
+        android:background="@null"
         android:focusable="true"
+        android:gravity="end"
         android:textColor="@color/C000000"
         android:textSize="12dp"
         app:layout_collapseMode="parallax"
@@ -49,7 +49,7 @@
 
       <android.support.constraint.ConstraintLayout
         android:id="@+id/category_layout"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="35dp"
         android:layout_gravity="end|bottom"
         android:layout_marginTop="50dp"
@@ -68,7 +68,8 @@
           android:textSize="12sp"
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toStartOf="@+id/circle_0"
-          app:layout_constraintHorizontal_bias="0.5"
+          app:layout_constraintHorizontal_bias="1"
+          app:layout_constraintHorizontal_chainStyle="packed"
           app:layout_constraintStart_toStartOf="parent"
           app:layout_constraintTop_toTopOf="parent"/>
 
@@ -79,7 +80,6 @@
           android:src="@drawable/grey_circle"
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toStartOf="@+id/text_view_category_1"
-          app:layout_constraintHorizontal_bias="0.5"
           app:layout_constraintStart_toEndOf="@+id/text_view_category_0"
           app:layout_constraintTop_toTopOf="parent"/>
 
@@ -93,7 +93,6 @@
           android:textSize="12sp"
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toStartOf="@+id/circle_1"
-          app:layout_constraintHorizontal_bias="0.5"
           app:layout_constraintStart_toEndOf="@+id/circle_0"
           app:layout_constraintTop_toTopOf="parent"/>
 
@@ -118,7 +117,6 @@
           android:textSize="12sp"
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toStartOf="@+id/circle_2"
-          app:layout_constraintHorizontal_bias="0.5"
           app:layout_constraintStart_toEndOf="@+id/circle_1"
           app:layout_constraintTop_toTopOf="parent"/>
 
@@ -142,7 +140,6 @@
           android:textSize="12sp"
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toStartOf="@+id/circle_3"
-          app:layout_constraintHorizontal_bias="0.5"
           app:layout_constraintStart_toEndOf="@+id/circle_2"
           app:layout_constraintTop_toTopOf="parent"/>
 
@@ -166,7 +163,6 @@
           android:textSize="12sp"
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toEndOf="parent"
-          app:layout_constraintHorizontal_bias="0.5"
           app:layout_constraintStart_toEndOf="@+id/circle_3"
           app:layout_constraintTop_toTopOf="parent"/>
 

+ 10 - 10
app/src/main/res/layout/fragment_category_main_first.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <android.support.design.widget.CoordinatorLayout
-  android:id="@+id/root_layout"
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
+  android:id="@+id/root_layout"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
 
@@ -56,25 +56,25 @@
           android:id="@+id/spinner_select_contents"
           android:layout_width="wrap_content"
           android:layout_height="35dp"
-          android:layout_marginStart="14dp"
-          android:focusable="true"
-          android:textColor="@color/C000000"
-          android:background="@null"
           android:layout_alignParentTop="true"
           android:layout_alignParentBottom="true"
-          android:lineSpacingExtra="4sp"/>
+          android:layout_marginStart="14dp"
+          android:background="@null"
+          android:focusable="true"
+          android:lineSpacingExtra="4sp"
+          android:textColor="@color/C000000"/>
 
         <ImageView
           android:id="@+id/first_category_main_filter"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentEnd="true"
-          android:paddingTop="5dp"
-          android:paddingBottom="5dp"
+          android:layout_alignParentBottom="true"
+          android:layout_marginEnd="15dp"
           android:paddingStart="10dp"
+          android:paddingTop="5dp"
           android:paddingEnd="10dp"
-          android:layout_marginEnd="15dp"
-          android:layout_alignParentBottom="true"
+          android:paddingBottom="5dp"
           app:srcCompat="@drawable/ic_filter_de"
           />
       </RelativeLayout>

+ 1 - 1
app/src/main/res/layout/spinner_item.xml

@@ -5,7 +5,7 @@
   android:id="@+id/spinner_text"
   android:layout_height="wrap_content"
   android:textSize="12sp"
-  android:padding="5dp"
+  android:padding="12dp"
   android:textColor="@color/C000000"
   android:lineSpacingExtra="4sp"
   />

+ 2 - 0
app/src/sandbox/res/values/config.xml

@@ -2,6 +2,8 @@
 <resources>
   <string name="host_url" translatable="false">nothing</string>
   <string name="host_port" translatable="false">nothing</string>
+  <string name="coop_url" translatable="false">nothing</string>
+  <string name="coop_port" translatable="false">nothing</string>
   <string name="xecure_url" translatable="false">nothing</string>
   <string name="app_shield_url" translatable="false">nothing</string>
 </resources>