From bd4ba7b291cad11e14c02d3e4f8c76198b27a0bc Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Wed, 5 Mar 2025 17:20:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E8=A7=84=E5=88=99=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=93=8D=E4=BD=9C=E6=8E=A5=E5=8F=A3=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contacts/build.properties | 4 +- .../contacts/activities/SettingsActivity.java | 6 +++ .../adapters/PhoneConnectRuleAdapter.java | 41 +++++++++++-------- .../studio/contacts/views/LeftScrollView.java | 32 +++++++++++++-- .../src/main/res/layout/activity_settings.xml | 28 +++++++++---- .../layout/view_phone_connect_rule_simple.xml | 3 +- 6 files changed, 82 insertions(+), 32 deletions(-) diff --git a/contacts/build.properties b/contacts/build.properties index e890e5d..34aabe9 100644 --- a/contacts/build.properties +++ b/contacts/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed Mar 05 08:27:53 GMT 2025 +#Wed Mar 05 09:18:14 GMT 2025 stageCount=9 libraryProject= baseVersion=1.0 publishVersion=1.0.8 -buildCount=112 +buildCount=124 baseBetaVersion=1.0.9 diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java b/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java index 62fb1f1..366b604 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/activities/SettingsActivity.java @@ -232,6 +232,12 @@ public class SettingsActivity extends AppCompatActivity implements IWinBollActiv Intent intent = new Intent(this, UnitTestActivity.class); startActivity(intent); } + + public void onAddNewConnectionRule(View view) { + Rules.getInstance(this).getPhoneBlacRuleBeanList().add(new PhoneConnectRuleModel()); + Rules.getInstance(this).saveRules(); + adapter.notifyDataSetChanged(); + } public void onDefaultPhone(View view) { Intent intent = new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS); diff --git a/contacts/src/main/java/cc/winboll/studio/contacts/adapters/PhoneConnectRuleAdapter.java b/contacts/src/main/java/cc/winboll/studio/contacts/adapters/PhoneConnectRuleAdapter.java index 4a3758e..f6eb9cb 100644 --- a/contacts/src/main/java/cc/winboll/studio/contacts/adapters/PhoneConnectRuleAdapter.java +++ b/contacts/src/main/java/cc/winboll/studio/contacts/adapters/PhoneConnectRuleAdapter.java @@ -59,23 +59,28 @@ public class PhoneConnectRuleAdapter extends RecyclerView.Adapter list = Rules.getInstance(context).getPhoneBlacRuleBeanList(); -// list.remove(position); -// Rules.getInstance(context).saveRules(); -// notifyItemChanged(position); -// } -// }); + String szView = model.getRuleText().trim().equals("")?"[NULL]":model.getRuleText(); + simpleViewHolder.tvRuleText.setText(szView); + simpleViewHolder.scrollView.setOnActionListener(new LeftScrollView.OnActionListener(){ + @Override + public void onEdit() { + simpleViewHolder.scrollView.smoothScrollTo(0, 0); + model.setIsSimpleView(false); + notifyDataSetChanged(); + //notifyItemChanged(position); + } + + @Override + public void onDelete() { + simpleViewHolder.scrollView.smoothScrollTo(0, 0); + model.setIsSimpleView(true); + ArrayList list = Rules.getInstance(context).getPhoneBlacRuleBeanList(); + list.remove(position); + Rules.getInstance(context).saveRules(); + notifyDataSetChanged(); + //notifyItemChanged(position); + } + }); // simpleViewHolder.editButton.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { @@ -174,7 +179,7 @@ public class PhoneConnectRuleAdapter extends RecyclerView.Adapter editButton.getWidth()) { - smoothScrollTo(getChildAt(0).getWidth(), 0); - LogUtils.d(TAG, ">>>>>"); + // 获取HorizontalScrollView的子视图 + View childView = getChildAt(0); + if (childView != null) { + // 计算需要滑动到最右边的距离 + int scrollToX = childView.getWidth() - getWidth(); + // 确保滑动距离不小于0 + final int scrollToX2 = Math.max(0, scrollToX); + // 平滑滑动到最右边 + post(new Runnable() { + @Override + public void run() { + smoothScrollTo(scrollToX2, 0); + LogUtils.d(TAG, "smoothScrollTo(0, 0);"); + } + }); + LogUtils.d(TAG, "smoothScrollTo(scrollToX, 0);"); + } } else { - smoothScrollTo(0, 0); - LogUtils.d(TAG, "<<<<<"); + // 恢复原状 + // 在手指抬起时,使用 post 方法调用 smoothScrollTo(0, 0) + post(new Runnable() { + @Override + public void run() { + smoothScrollTo(0, 0); + LogUtils.d(TAG, "smoothScrollTo(0, 0);"); + } + }); + //toolLayout.setTranslationX(0); } } break; diff --git a/contacts/src/main/res/layout/activity_settings.xml b/contacts/src/main/res/layout/activity_settings.xml index 21fb238..3bd69f2 100644 --- a/contacts/src/main/res/layout/activity_settings.xml +++ b/contacts/src/main/res/layout/activity_settings.xml @@ -2,8 +2,8 @@ - + + + + +