瀏覽代碼

[설정][Common] 뷰 홀더 클래스 이름 변경 및 토글 버튼 스위치 변경

Hasemi 7 年之前
父節點
當前提交
433779d919

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/setting/agreeInformationViewHolder.java

@@ -18,13 +18,13 @@ import kr.co.zumo.app.R;
  * @history 하세미   [2018-10-12]   [최초 작성]
  * @since 2018-10-12
  */
-public class agreeInformationViewHolder extends RecyclerView.ViewHolder {
+public class AgreeInformationViewHolder extends RecyclerView.ViewHolder {
 
   public TextView textViewMenuText;
   public RelativeLayout customLayout;
   public ImageView imageViewAccordion;
 
-  public agreeInformationViewHolder(View itemView) {
+  public AgreeInformationViewHolder(View itemView) {
     super(itemView);
     textViewMenuText = itemView.findViewById(R.id.text_view_setting_menu_text);
     customLayout = itemView.findViewById(R.id.layout_agree_information);

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/setting/codeManageViewHolder.java

@@ -18,13 +18,13 @@ import kr.co.zumo.app.R;
  * @history 하세미   [2018-10-12]   [최초 작성]
  * @since 2018-10-12
  */
-public class codeManageViewHolder extends RecyclerView.ViewHolder {
+public class CodeManageViewHolder extends RecyclerView.ViewHolder {
 
   public TextView textViewMenuText;
   public RelativeLayout customLayout;
   public ImageView imageViewAccordion;
 
-  public codeManageViewHolder(View itemView) {
+  public CodeManageViewHolder(View itemView) {
     super(itemView);
     customLayout = itemView.findViewById(R.id.layout_code_manage);
     imageViewAccordion = itemView.findViewById(R.id.image_view_setting_menu_accordion);

+ 15 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/setting/defaultSettingViewHolder.java

@@ -1,8 +1,9 @@
 package kr.co.zumo.app.lifeplus.view.fragment.setting;
 
+import android.content.Context;
 import android.support.v7.widget.RecyclerView;
-import android.util.Log;
 import android.view.View;
+import android.widget.CompoundButton;
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.Switch;
@@ -20,7 +21,7 @@ import kr.co.zumo.app.R;
  * @history 하세미   [2018-10-12]   [최초 작성]
  * @since 2018-10-12
  */
-public class defaultSettingViewHolder extends RecyclerView.ViewHolder {
+public class DefaultSettingViewHolder extends RecyclerView.ViewHolder {
 
   public TextView textViewMenuText;
   public TextView textViewUserConfirm;
@@ -28,21 +29,27 @@ public class defaultSettingViewHolder extends RecyclerView.ViewHolder {
   public ImageView imageViewAccordion;
   public Switch switchPinOnOff;
 
-  public defaultSettingViewHolder(View itemView) {
+  public DefaultSettingViewHolder(View itemView, Context context) {
     super(itemView);
     textViewMenuText = itemView.findViewById(R.id.text_view_setting_menu_text);
     textViewUserConfirm = itemView.findViewById(R.id.text_view_user_confirm);
     customLayout = itemView.findViewById(R.id.layout_default_setting);
     imageViewAccordion = itemView.findViewById(R.id.image_view_setting_menu_accordion);
-//      switchPinOnOff = itemView.findViewById(R.id.switch_pin_on_off);
-//      switchPinOnOff.setTrackDrawable(new SwitchTrackTextDrawable(context, R.string.on, R.string.off));
-    textViewUserConfirm.setOnClickListener(new View.OnClickListener() {
+
+    switchPinOnOff = itemView.findViewById(R.id.switch_pin_on_off);
+    switchPinOnOff.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
-      public void onClick(View view) {
-        Log.w("APP# defaultSettingViewHolder | onClick", "|" + "click");
+      public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
+        if(isChecked){
+          switchPinOnOff.setTrackDrawable(new SwitchTrackTextDrawable(context, R.string.on, R.string.empty_string));
+        }else{
+          switchPinOnOff.setTrackDrawable(new SwitchTrackTextDrawable(context, R.string.empty_string, R.string.off));
+
+        }
       }
     });
 
+
   }
 
   public void onClick() {

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/setting/pushAndLocationSettingViewHolder.java

@@ -18,13 +18,13 @@ import kr.co.zumo.app.R;
  * @history 하세미   [2018-10-12]   [최초 작성]
  * @since 2018-10-12
  */
-public class pushAndLocationSettingViewHolder extends RecyclerView.ViewHolder {
+public class PushAndLocationSettingViewHolder extends RecyclerView.ViewHolder {
 
   public TextView textViewMenuText;
   public RelativeLayout customLayout;
   public ImageView imageViewAccordion;
 
-  public pushAndLocationSettingViewHolder(View itemView) {
+  public PushAndLocationSettingViewHolder(View itemView) {
     super(itemView);
     textViewMenuText = itemView.findViewById(R.id.text_view_setting_menu_text);
     customLayout = itemView.findViewById(R.id.layout_push_location_setting);

+ 20 - 20
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/setting/SettingExpandableListViewAdapter.java

@@ -37,23 +37,23 @@ public class SettingExpandableListViewAdapter extends RecyclerView.Adapter<Recyc
         view = LayoutInflater
           .from(parent.getContext())
           .inflate(R.layout.setting_custom_menu1, parent, false);
-        return new defaultSettingViewHolder(view);
+        return new DefaultSettingViewHolder(view, context);
       case 1:
         view = LayoutInflater
           .from(parent.getContext())
 
           .inflate(R.layout.setting_custom_menu2, parent, false);
-        return new codeManageViewHolder(view);
+        return new CodeManageViewHolder(view);
       case 2:
         view = LayoutInflater
           .from(parent.getContext())
           .inflate(R.layout.setting_custom_menu3, parent, false);
-        return new pushAndLocationSettingViewHolder(view);
+        return new PushAndLocationSettingViewHolder(view);
       case 3:
         view = LayoutInflater
           .from(parent.getContext())
           .inflate(R.layout.setting_custom_menu4, parent, false);
-        return new agreeInformationViewHolder(view);
+        return new AgreeInformationViewHolder(view);
       default:
         break;
     }
@@ -66,52 +66,52 @@ public class SettingExpandableListViewAdapter extends RecyclerView.Adapter<Recyc
 
     switch (position) {
       case 0:
-        defaultSettingViewHolder defaultSettingViewHolder = ((defaultSettingViewHolder) holder);
-        defaultSettingViewHolder.textViewMenuText.setOnClickListener(new View.OnClickListener() {
+        DefaultSettingViewHolder DefaultSettingViewHolder = ((DefaultSettingViewHolder) holder);
+        DefaultSettingViewHolder.textViewMenuText.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
-            defaultSettingViewHolder.onClick();
+            DefaultSettingViewHolder.onClick();
           }
         });
-        defaultSettingViewHolder.imageViewAccordion.setOnClickListener(new View.OnClickListener() {
+        DefaultSettingViewHolder.imageViewAccordion.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
-            defaultSettingViewHolder.onClick();
+            DefaultSettingViewHolder.onClick();
           }
         });
         break;
       case 1:
-        codeManageViewHolder codeManageViewHolder = ((codeManageViewHolder) holder);
-        codeManageViewHolder.textViewMenuText.setOnClickListener(new View.OnClickListener() {
+        CodeManageViewHolder CodeManageViewHolder = ((CodeManageViewHolder) holder);
+        CodeManageViewHolder.textViewMenuText.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
-            codeManageViewHolder.onClick();
+            CodeManageViewHolder.onClick();
           }
         });
-        codeManageViewHolder.imageViewAccordion.setOnClickListener(new View.OnClickListener() {
+        CodeManageViewHolder.imageViewAccordion.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
-            codeManageViewHolder.onClick();
+            CodeManageViewHolder.onClick();
           }
         });
         break;
       case 2:
-        pushAndLocationSettingViewHolder pushAndLocationSettingViewHolder = ((pushAndLocationSettingViewHolder) holder);
-        pushAndLocationSettingViewHolder.textViewMenuText.setOnClickListener(new View.OnClickListener() {
+        PushAndLocationSettingViewHolder PushAndLocationSettingViewHolder = ((PushAndLocationSettingViewHolder) holder);
+        PushAndLocationSettingViewHolder.textViewMenuText.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
-            pushAndLocationSettingViewHolder.onClick();
+            PushAndLocationSettingViewHolder.onClick();
           }
         });
-        pushAndLocationSettingViewHolder.imageViewAccordion.setOnClickListener(new View.OnClickListener() {
+        PushAndLocationSettingViewHolder.imageViewAccordion.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
-            pushAndLocationSettingViewHolder.onClick();
+            PushAndLocationSettingViewHolder.onClick();
           }
         });
         break;
       case 3:
-        agreeInformationViewHolder agreeInformationViewHolder = ((agreeInformationViewHolder) holder);
+        AgreeInformationViewHolder agreeInformationViewHolder = ((AgreeInformationViewHolder) holder);
         agreeInformationViewHolder.imageViewAccordion.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {

+ 7 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/setting/SwitchTrackTextDrawable.java

@@ -10,6 +10,7 @@ import android.graphics.drawable.Drawable;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.StringRes;
+import android.util.Log;
 
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 
@@ -56,7 +57,6 @@ public class SwitchTrackTextDrawable extends Drawable {
     textPaint.setTextAlign(Paint.Align.CENTER);
     textPaint.setTextSize(ResourceUtil.dpToPx(9));
 
-    // Set textSize, typeface, etc, as you wish
     return textPaint;
   }
 
@@ -68,18 +68,20 @@ public class SwitchTrackTextDrawable extends Drawable {
 
     // The baseline for the text: centered, including the height of the text itself
     final int heightBaseline = canvas.getClipBounds().height() / 2 + textBounds.height() / 2;
-
     final int widthQuarter = canvas.getClipBounds().width() / 4;
+
+    Log.e("APP#  SwitchTrackTextDrawable | draw", "|" + widthQuarter);
+
     //on 텍스트 흰색 변경
     mTextPaint.setColor(mContext.getResources().getColor(android.R.color.white));
     canvas.drawText(mLeftText, 0, mLeftText.length(),
-      widthQuarter, heightBaseline,
+      widthQuarter + 15, heightBaseline,
       mTextPaint);
 
     //off  텍스트 검정 변경
-    mTextPaint.setColor(mContext.getResources().getColor(android.R.color.black));
+    mTextPaint.setColor(mContext.getResources().getColor(android.R.color.darker_gray));
     canvas.drawText(mRightText, 0, mRightText.length(),
-      widthQuarter * 3, heightBaseline,
+      widthQuarter * 3 - 10, heightBaseline,
       mTextPaint);
   }
 

+ 2 - 2
app/src/main/res/drawable/switch_thumb_off.xml

@@ -4,8 +4,8 @@
   android:shape="oval">
 
   <size
-    android:width="23dp"
-    android:height="23dp" />
+    android:width="20dp"
+    android:height="20dp" />
 
   <solid
     android:color="#ffffff" />

+ 2 - 2
app/src/main/res/drawable/switch_thumb_on.xml

@@ -4,8 +4,8 @@
   android:shape="oval">
 
   <size
-    android:width="23dp"
-    android:height="23dp" />
+    android:width="20dp"
+    android:height="20dp" />
 
   <solid
     android:color="#ffffff" />

+ 6 - 4
app/src/main/res/drawable/switch_track_off.xml

@@ -4,12 +4,14 @@
   android:shape="rectangle">
 
   <corners
-    android:radius="15dp"/>
+    android:radius="11dp"/>
 
   <size
-    android:width="48dp"
+    android:width="46dp"
     android:height="18dp"/>
   <solid
-    android:color="#e5e5e5"/>
-
+    android:color="@color/CE5E5E5"/>
+  <stroke
+    android:width="2dp"
+    android:color="@color/CFFFFFF" />
 </shape>

+ 6 - 3
app/src/main/res/drawable/switch_track_on.xml

@@ -4,13 +4,16 @@
   android:shape="rectangle" >
 
   <corners
-    android:radius="15dp" />
+    android:radius="11dp" />
 
   <size
-    android:width="48dp"
+    android:width="46dp"
     android:height="18dp" />
 
   <solid
-    android:color="#333333" />
+    android:color="@color/C333333" />
+  <stroke
+    android:width="2dp"
+    android:color="@color/CFFFFFF" />
 
 </shape>

+ 7 - 8
app/src/main/res/layout/setting_custom_menu1.xml

@@ -126,18 +126,17 @@
         android:layout_marginTop="0dp"
         android:paddingRight="25dp">
 
-        <ToggleButton
+        <Switch
           android:id="@+id/switch_pin_on_off"
-          style="?android:attr/borderlessButtonStyle"
-          android:layout_width="44dp"
-          android:layout_height="18dp"
+          android:layout_width="wrap_content"
+          android:layout_height="wrap_content"
           android:layout_alignParentEnd="true"
           android:layout_marginTop="48dp"
           android:layout_marginBottom="28dp"
-          android:background="@drawable/toggle_selector"
-          android:text=""
-          android:textOff=""
-          android:textOn=""/>
+          android:switchMinWidth="44dp"
+          android:thumb="@drawable/switch_thumb_selector"
+          android:background="@drawable/switch_track_selector"
+        />
 
       </RelativeLayout>
     </RelativeLayout>