浏览代码

[공통][Common] stateButton Drawable 수정

Hasemi 6 年之前
父节点
当前提交
eb367113e3

+ 0 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/CustomSquareArrowCheckBox.java

@@ -38,15 +38,6 @@ public class CustomSquareArrowCheckBox extends CustomCheckBox {
     inflater.inflate(R.layout.custom_square_arrow_check_box, this);
     checkBox = findViewById(R.id.check_box);
 
-    StateListDrawable stateListDrawable = new StateListDrawable();
-//    stateListDrawable.addState(new int[]{android.R.attr.state_checked},
-//      context.getResources().getDrawable(R.drawable.custom_rectangle_radio_on));
-//
-//    stateListDrawable.addState(new int[]{-android.R.attr.state_checked},
-//      context.getResources().getDrawable(R.drawable.custom_rectangle_radio_off));
-    checkBox.setButtonDrawable(stateListDrawable);
-
-
     checkBox.setButtonDrawable(new StateListDrawable());
     checkBox.setClickable(false);
     checkBox.setOnClickListener(view -> {

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/OnOffSwitch.java

@@ -50,6 +50,7 @@ public class OnOffSwitch extends Switch {
     Rect paddingRect = new Rect(getPaddingStart(), getPaddingTop(), getPaddingRight(), getPaddingBottom());
     setTrackDrawable(new SwitchTrackTextDrawable(getContext(), R.string.on, R.string.off, false, paddingRect));
 
+    // TODO: API 19 에서 커스텀 스위치 안보이는 문제 대응
     StateListDrawable stateListDrawable = new StateListDrawable();
     stateListDrawable.addState(new int[]{android.R.attr.state_checked}, context.getResources().getDrawable(R.drawable.switch_thumb_on));
     stateListDrawable.addState(new int[]{-android.R.attr.state_checked}, context.getResources().getDrawable(R.drawable.switch_thumb_off));

+ 9 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/auth/MobileAuthView.java

@@ -148,12 +148,6 @@ public class MobileAuthView extends ConstraintLayout implements IMobileAuthContr
     viewFirstNumberBar = findViewById(R.id.spinner_first_phone_number_bar);
     viewAgreeBar = findViewById(R.id.checkbox_all_agree_bar);
 
-
-    StateListDrawable stateListDrawable = new StateListDrawable();
-    stateListDrawable.addState(new int[]{android.R.attr.state_checked}, context.getResources().getDrawable(R.drawable.ic_checkbox_on));
-    stateListDrawable.addState(new int[]{-android.R.attr.state_checked}, context.getResources().getDrawable(R.drawable.ic_checkbox_off));
-    ((CheckBox) checkBoxAllAgree).setButtonDrawable(stateListDrawable);
-
     checkBoxAllDriver = new CheckBoxAllDriver(checkBoxAllAgree);
 
     // 전체 약관 동의
@@ -173,8 +167,8 @@ public class MobileAuthView extends ConstraintLayout implements IMobileAuthContr
 
       checkBox = findViewById(ResourceUtil.getId("checkbox_agree" + (i + 1)));
 
-      ((CheckBox) checkBoxAllAgree).setButtonDrawable(stateListDrawable);
-      ((CheckBox) checkBox).setButtonDrawable(stateListDrawable);
+      ((CheckBox) checkBoxAllAgree).setButtonDrawable(getStateListDrawable());
+      ((CheckBox) checkBox).setButtonDrawable(getStateListDrawable());
 
       checkBoxAllDriver.addChildBox(checkBox);
       checkBox.setOnCheckedChangeListener((compoundButton, b) -> {
@@ -560,4 +554,11 @@ public class MobileAuthView extends ConstraintLayout implements IMobileAuthContr
    */
   public void dispose() {
   }
+
+  private StateListDrawable getStateListDrawable() {
+    StateListDrawable stateListDrawable = new StateListDrawable();
+    stateListDrawable.addState(new int[]{android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_on));
+    stateListDrawable.addState(new int[]{-android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_off));
+    return stateListDrawable;
+  }
 }

+ 11 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/common/SettingMemberInfoFragment.java

@@ -58,7 +58,6 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
   private CheckBoxAllDriver checkBoxAllDriver;
   private CheckBox checkBoxEmail;
   private CheckBox checkBoxSms;
-  private StateListDrawable stateListDrawable;
 
   @Override
   protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -86,12 +85,8 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
     checkBoxEmail = findViewById(R.id.check_agree_email);
     checkBoxSms = findViewById(R.id.check_agree_sms);
 
-    stateListDrawable = new StateListDrawable();
-    stateListDrawable.addState(new int[]{android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_on));
-    stateListDrawable.addState(new int[]{-android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_off));
-
-    checkBoxSms.setButtonDrawable(stateListDrawable);
-    checkBoxEmail.setButtonDrawable(stateListDrawable);
+    checkBoxSms.setButtonDrawable(getStateListDrawable());
+    checkBoxEmail.setButtonDrawable(getStateListDrawable());
 
     editEmail.addTextChangedListener(new SimpleTextWatcher() {
       @Override
@@ -252,7 +247,7 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
 
     CheckBox checkBoxAll = findViewById(R.id.agree_check_all);
 
-    ((CheckBox) checkBoxAll).setButtonDrawable(stateListDrawable);
+    ((CheckBox) checkBoxAll).setButtonDrawable(getStateListDrawable());
 
     checkBoxAllDriver = new CheckBoxAllDriver(checkBoxAll);
 
@@ -269,7 +264,7 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
       bean = list.get(i);
       view = inflater.inflate(R.layout.setting_agree_check, null);
       CheckBox checkBox = view.findViewById(R.id.agree_check);
-      checkBox.setButtonDrawable(stateListDrawable);
+      checkBox.setButtonDrawable(getStateListDrawable());
 
       // title
       String title = bean.getTitle();
@@ -324,4 +319,11 @@ public class SettingMemberInfoFragment extends FragmentBase<SettingMemberInfoPre
   public void setAgreeCheckSms(boolean isChecked) {
     checkBoxSms.setChecked(isChecked);
   }
+
+  private StateListDrawable getStateListDrawable() {
+    StateListDrawable stateListDrawable = new StateListDrawable();
+    stateListDrawable.addState(new int[]{android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_on));
+    stateListDrawable.addState(new int[]{-android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_off));
+    return stateListDrawable;
+  }
 }

+ 8 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/signup/SignUpAgreeFragment.java

@@ -126,8 +126,6 @@ public class SignUpAgreeFragment extends FragmentBase<SignUpAgreePresenter> impl
       @Override
       public AgreeHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
         View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_sign_up_agree_list, parent, false);
-        CheckBox checkBox = view.findViewById(R.id.agree_check);
-        checkBox.setButtonDrawable(new StateListDrawable());
         return new AgreeHolder(view);
       }
 
@@ -168,10 +166,7 @@ public class SignUpAgreeFragment extends FragmentBase<SignUpAgreePresenter> impl
       checkBox = itemView.findViewById(R.id.agree_check);
       checkBoxAllDriver.addChildBox(checkBox);
 
-      StateListDrawable stateListDrawable = new StateListDrawable();
-      stateListDrawable.addState(new int[]{android.R.attr.state_checked}, itemView.getContext().getResources().getDrawable(R.drawable.ic_checkbox_on));
-      stateListDrawable.addState(new int[]{-android.R.attr.state_checked}, itemView.getContext().getResources().getDrawable(R.drawable.ic_checkbox_off));
-      ((CheckBox) checkBox).setButtonDrawable(stateListDrawable);
+      ((CheckBox) checkBox).setButtonDrawable(getStateListDrawable());
 
       String title = bean.getTitle();
       title = title.replace(ResourceUtil.getString(R.string.agree_required), "");
@@ -194,4 +189,11 @@ public class SignUpAgreeFragment extends FragmentBase<SignUpAgreePresenter> impl
     }
 
   }
+
+  private StateListDrawable getStateListDrawable() {
+    StateListDrawable stateListDrawable = new StateListDrawable();
+    stateListDrawable.addState(new int[]{android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_on));
+    stateListDrawable.addState(new int[]{-android.R.attr.state_checked}, getContext().getResources().getDrawable(R.drawable.ic_checkbox_off));
+    return stateListDrawable;
+  }
 }