1629
This commit is contained in:
		| @@ -1,8 +1,8 @@ | ||||
| #Created by .winboll/winboll_app_build.gradle | ||||
| #Tue Mar 04 10:00:11 GMT 2025 | ||||
| #Wed Mar 05 08:27:53 GMT 2025 | ||||
| stageCount=9 | ||||
| libraryProject= | ||||
| baseVersion=1.0 | ||||
| publishVersion=1.0.8 | ||||
| buildCount=60 | ||||
| buildCount=112 | ||||
| baseBetaVersion=1.0.9 | ||||
|   | ||||
| @@ -47,10 +47,10 @@ public class PhoneConnectRuleAdapter extends RecyclerView.Adapter<RecyclerView.V | ||||
|         LayoutInflater inflater = LayoutInflater.from(context); | ||||
|         if (viewType == VIEW_TYPE_SIMPLE) { | ||||
|             View view = inflater.inflate(R.layout.view_phone_connect_rule_simple, parent, false); | ||||
|             return new SimpleViewHolder(view); | ||||
|             return new SimpleViewHolder(parent, view); | ||||
|         } else { | ||||
|             View view = inflater.inflate(R.layout.view_phone_connect_rule, parent, false); | ||||
|             return new EditViewHolder(view); | ||||
|             return new EditViewHolder(parent, view); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -165,13 +165,16 @@ public class PhoneConnectRuleAdapter extends RecyclerView.Adapter<RecyclerView.V | ||||
|         private final TextView tvRuleText; | ||||
|  | ||||
|  | ||||
|         public SimpleViewHolder(@NonNull View itemView) { | ||||
|         public SimpleViewHolder(@NonNull ViewGroup parent, @NonNull View itemView) { | ||||
|             super(itemView); | ||||
|             scrollView = itemView.findViewById(R.id.scrollView); | ||||
|             //tvRuleText = itemView.findViewById(R.id.ruletext_tv); | ||||
|             tvRuleText = new TextView(itemView.getContext()); | ||||
|             scrollView.setContentWidth(parent.getWidth()); | ||||
|             //scrollView.setContentWidth(600); | ||||
|             scrollView.addContentLayout(tvRuleText); | ||||
|         } | ||||
|          | ||||
|     } | ||||
|  | ||||
|     static class EditViewHolder extends RecyclerView.ViewHolder { | ||||
| @@ -180,7 +183,7 @@ public class PhoneConnectRuleAdapter extends RecyclerView.Adapter<RecyclerView.V | ||||
|         CheckBox checkBoxEnable; | ||||
|         Button buttonConfirm; | ||||
|  | ||||
|         public EditViewHolder(@NonNull View itemView) { | ||||
|         public EditViewHolder(@NonNull ViewGroup parent, @NonNull View itemView) { | ||||
|             super(itemView); | ||||
|             editText = itemView.findViewById(R.id.edit_text); | ||||
|             checkBoxAllow = itemView.findViewById(R.id.checkbox_allow); | ||||
|   | ||||
| @@ -14,6 +14,8 @@ import android.widget.HorizontalScrollView; | ||||
| import android.widget.LinearLayout; | ||||
| import android.widget.TextView; | ||||
| import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import android.util.TypedValue; | ||||
|  | ||||
| public class LeftScrollView extends HorizontalScrollView { | ||||
|  | ||||
| @@ -24,8 +26,8 @@ public class LeftScrollView extends HorizontalScrollView { | ||||
|     private TextView textView; | ||||
|     private Button editButton; | ||||
|     private Button deleteButton; | ||||
|     private float startX; | ||||
|     private boolean isDragging = false; | ||||
|     private float mLastX; | ||||
|     private boolean isScrolling = false; | ||||
|  | ||||
|     public LeftScrollView(Context context) { | ||||
|         super(context); | ||||
| @@ -46,66 +48,28 @@ public class LeftScrollView extends HorizontalScrollView { | ||||
|         contentLayout.addView(textView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); | ||||
|     } | ||||
|  | ||||
|     public void setContentWidth(int contentWidth) { | ||||
|         LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) contentLayout.getLayoutParams(); | ||||
|         layoutParams.width = contentWidth; | ||||
|         contentLayout.setLayoutParams(layoutParams); | ||||
|     } | ||||
|  | ||||
|     private void init() { | ||||
|         View viewMain = inflate(getContext(), R.layout.view_left_scroll, null); | ||||
|  | ||||
|         // 创建内容布局 | ||||
|         contentLayout = viewMain.findViewById(R.id.content_layout); | ||||
|         toolLayout = viewMain.findViewById(R.id.action_layout); | ||||
|         addView(viewMain); | ||||
|  | ||||
|         // 动态设置content_layout的宽度为scrollView的宽度 | ||||
| //        post(new Runnable() { | ||||
| //                @Override | ||||
| //                public void run() { | ||||
| //                    int scrollViewWidth = getWidth(); | ||||
| //                    LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) contentLayout.getLayoutParams(); | ||||
| //                    layoutParams.width = scrollViewWidth; | ||||
| //                    contentLayout.setLayoutParams(layoutParams); | ||||
| //                } | ||||
| //            }); | ||||
|         //LogUtils.d(TAG, String.format("getWidth() %d", getWidth())); | ||||
|  | ||||
|         addView(viewMain); | ||||
|  | ||||
|         // 创建编辑按钮 | ||||
|         editButton = viewMain.findViewById(R.id.edit_btn); | ||||
|         // 创建删除按钮 | ||||
|         deleteButton = viewMain.findViewById(R.id.delete_btn); | ||||
|  | ||||
|         // 设置触摸事件监听器 | ||||
| //        setOnTouchListener(new OnTouchListener() { | ||||
| //                @Override | ||||
| //                public boolean onTouch(View v, MotionEvent event) { | ||||
| //                    switch (event.getAction()) { | ||||
| //                        case MotionEvent.ACTION_DOWN: | ||||
| //                            startX = event.getX(); | ||||
| //                            isDragging = true; | ||||
| //                            break; | ||||
| //                        case MotionEvent.ACTION_MOVE: | ||||
| //                            if (isDragging) { | ||||
| //                                float deltaX = startX - event.getX(); | ||||
| //                                if (deltaX > 0) { // 左滑 | ||||
| //                                    float translationX = Math.max(-(editButton.getWidth() + deleteButton.getWidth()), -deltaX); | ||||
| //                                    toolLayout.setTranslationX(translationX); | ||||
| //                                    scrollTo((int) translationX, 0); | ||||
| //                                } | ||||
| //                            } | ||||
| //                            break; | ||||
| //                        case MotionEvent.ACTION_UP: | ||||
| //                        case MotionEvent.ACTION_CANCEL: | ||||
| //                            isDragging = false; | ||||
| //                            if (getScrollX() <= -(editButton.getWidth())) { | ||||
| //                                // 编辑按钮完全显示,保持按钮显示 | ||||
| //                                smoothScrollTo(-(editButton.getWidth() + deleteButton.getWidth()), 0); | ||||
| //                            } else { | ||||
| //                                // 恢复原状 | ||||
| //                                smoothScrollTo(0, 0); | ||||
| //                                toolLayout.setTranslationX(0); | ||||
| //                            } | ||||
| //                            break; | ||||
| //                    } | ||||
| //                    return true; | ||||
| //                } | ||||
| //            }); | ||||
|  | ||||
|         // 编辑按钮点击事件 | ||||
|         editButton.setOnClickListener(new OnClickListener() { | ||||
|                 @Override | ||||
| @@ -127,6 +91,41 @@ public class LeftScrollView extends HorizontalScrollView { | ||||
|             }); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean onTouchEvent(MotionEvent event) { | ||||
|         switch (event.getAction()) { | ||||
|             case MotionEvent.ACTION_DOWN: | ||||
|                 LogUtils.d(TAG, "ACTION_DOWN"); | ||||
|                 mLastX = event.getX(); | ||||
|                 isScrolling = false; | ||||
|                 break; | ||||
|             case MotionEvent.ACTION_MOVE: | ||||
|                 //LogUtils.d(TAG, "ACTION_MOVE"); | ||||
|                 float currentX = event.getX(); | ||||
|                 float deltaX = mLastX - currentX; | ||||
|                 mLastX = currentX; | ||||
|                 if (Math.abs(deltaX) > 0) { | ||||
|                     isScrolling = true; | ||||
|                 } | ||||
|                 break; | ||||
|             case MotionEvent.ACTION_UP: | ||||
|                 LogUtils.d(TAG, "ACTION_UP"); | ||||
|                 if (isScrolling) { | ||||
|                     LogUtils.d(TAG, String.format("isScrolling \ngetScrollX() %d\neditButton.getWidth() %d", getScrollX(), editButton.getWidth())); | ||||
|                     int scrollX = getScrollX(); | ||||
|                     if (scrollX > editButton.getWidth()) { | ||||
|                         smoothScrollTo(getChildAt(0).getWidth(), 0); | ||||
|                         LogUtils.d(TAG, ">>>>>"); | ||||
|                     } else { | ||||
|                         smoothScrollTo(0, 0); | ||||
|                         LogUtils.d(TAG, "<<<<<"); | ||||
|                     } | ||||
|                 } | ||||
|                 break; | ||||
|         } | ||||
|         return super.onTouchEvent(event); | ||||
|     } | ||||
|  | ||||
|     // 设置文本内容 | ||||
|     public void setText(CharSequence text) { | ||||
|         textView.setText(text); | ||||
|   | ||||
| @@ -1,271 +1,276 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <LinearLayout | ||||
| <ScrollView | ||||
| 	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:orientation="vertical" | ||||
| 	android:layout_width="match_parent" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     android:layout_width="match_parent" | ||||
| 	android:layout_height="match_parent"> | ||||
|  | ||||
| 	<androidx.appcompat.widget.Toolbar | ||||
| 		android:layout_width="match_parent" | ||||
| 		android:layout_height="wrap_content" | ||||
| 		android:id="@+id/activitymainToolbar1"/> | ||||
|  | ||||
| 	<LinearLayout | ||||
| 		android:orientation="vertical" | ||||
| 		android:layout_width="match_parent" | ||||
| 		android:layout_height="0dp" | ||||
| 		android:layout_weight="1.0"> | ||||
| 		android:layout_height="wrap_content"> | ||||
|  | ||||
| 		<TextView | ||||
| 			android:layout_width="wrap_content" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:text="服务设置:"/> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content"> | ||||
|  | ||||
| 			<Switch | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="主要服务" | ||||
| 				android:id="@+id/sw_mainservice" | ||||
| 				android:layout_margin="5dp"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content"> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="云盾设置:"/> | ||||
|  | ||||
| 			<cc.winboll.studio.contacts.views.DuInfoTextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:id="@+id/tv_DunInfo"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content"> | ||||
|  | ||||
| 			<Switch | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="是否启用云盾防御" | ||||
| 				android:layout_margin="5dp" | ||||
| 				android:id="@+id/sw_IsEnableDun" | ||||
| 				android:onClick="onSW_IsEnableDun"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 		<androidx.appcompat.widget.Toolbar | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="center_vertical"> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="初始防御层的叠加数量:"/> | ||||
|  | ||||
| 			<EditText | ||||
| 				android:layout_width="0dp" | ||||
| 				android:inputType="number" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:ems="10" | ||||
| 				android:layout_weight="1.0" | ||||
| 				android:id="@+id/et_DunTotalCount"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="center_vertical"> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="防御层每次恢复的时间间隔(秒钟):"/> | ||||
|  | ||||
| 			<EditText | ||||
| 				android:layout_width="0dp" | ||||
| 				android:inputType="number" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:ems="10" | ||||
| 				android:layout_weight="1.0" | ||||
| 				android:id="@+id/et_DunResumeSecondCount"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="center_vertical"> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="防御层每次恢复的叠加数量:"/> | ||||
|  | ||||
| 			<EditText | ||||
| 				android:layout_width="0dp" | ||||
| 				android:inputType="number" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:ems="10" | ||||
| 				android:layout_weight="1.0" | ||||
| 				android:id="@+id/et_DunResumeCount"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<TextView | ||||
| 			android:layout_width="wrap_content" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:text="应用权限设置:"/> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="right"> | ||||
|  | ||||
| 			<Button | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="悬浮窗设置" | ||||
| 				android:id="@+id/activitysettingsButton2" | ||||
| 				android:onClick="onCanDrawOverlays"/> | ||||
|  | ||||
| 			<Button | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="默认拨号设置" | ||||
| 				android:id="@+id/activitysettingsButton1" | ||||
| 				android:onClick="onDefaultPhone"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<TextView | ||||
| 			android:layout_width="wrap_content" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:text="音量设置:"/> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="center_vertical"> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:layout_marginLeft="10dp" | ||||
| 				android:id="@+id/tv_volume"/> | ||||
|  | ||||
| 			<SeekBar | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:layout_margin="10dp" | ||||
| 				android:max="100" | ||||
| 				android:id="@+id/bellvolume"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<TextView | ||||
| 			android:layout_width="wrap_content" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:text="拨不通电话记录查询:"/> | ||||
| 			android:id="@+id/activitymainToolbar1"/> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="vertical" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="right" | ||||
| 			android:layout_margin="10dp"> | ||||
|  | ||||
| 			<Button | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="下载 BoBullToon" | ||||
| 				android:onClick="onDownloadBoBullToon"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="right|center_vertical" | ||||
| 			android:layout_margin="10dp"> | ||||
| 			android:layout_height="0dp" | ||||
| 			android:layout_weight="1.0"> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="查询电话:"/> | ||||
| 				android:text="服务设置:"/> | ||||
|  | ||||
| 			<EditText | ||||
| 				android:layout_width="0dp" | ||||
| 				android:inputType="phone" | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content"> | ||||
|  | ||||
| 				<Switch | ||||
| 					android:layout_width="match_parent" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="主要服务" | ||||
| 					android:id="@+id/sw_mainservice" | ||||
| 					android:layout_margin="5dp"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content"> | ||||
|  | ||||
| 				<TextView | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="云盾设置:"/> | ||||
|  | ||||
| 				<cc.winboll.studio.contacts.views.DuInfoTextView | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:id="@+id/tv_DunInfo"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content"> | ||||
|  | ||||
| 				<Switch | ||||
| 					android:layout_width="match_parent" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="是否启用云盾防御" | ||||
| 					android:layout_margin="5dp" | ||||
| 					android:id="@+id/sw_IsEnableDun" | ||||
| 					android:onClick="onSW_IsEnableDun"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:ems="10" | ||||
| 				android:layout_weight="1.0" | ||||
| 				android:id="@+id/activitysettingsEditText1"/> | ||||
| 				android:gravity="center_vertical"> | ||||
|  | ||||
| 			<Button | ||||
| 				<TextView | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="初始防御层的叠加数量:"/> | ||||
|  | ||||
| 				<EditText | ||||
| 					android:layout_width="0dp" | ||||
| 					android:inputType="number" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:ems="10" | ||||
| 					android:layout_weight="1.0" | ||||
| 					android:id="@+id/et_DunTotalCount"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:gravity="center_vertical"> | ||||
|  | ||||
| 				<TextView | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="防御层每次恢复的时间间隔(秒钟):"/> | ||||
|  | ||||
| 				<EditText | ||||
| 					android:layout_width="0dp" | ||||
| 					android:inputType="number" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:ems="10" | ||||
| 					android:layout_weight="1.0" | ||||
| 					android:id="@+id/et_DunResumeSecondCount"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:gravity="center_vertical"> | ||||
|  | ||||
| 				<TextView | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="防御层每次恢复的叠加数量:"/> | ||||
|  | ||||
| 				<EditText | ||||
| 					android:layout_width="0dp" | ||||
| 					android:inputType="number" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:ems="10" | ||||
| 					android:layout_weight="1.0" | ||||
| 					android:id="@+id/et_DunResumeCount"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="查询记录" | ||||
| 				android:onClick="onSearchBoBullToonPhone"/> | ||||
| 				android:text="应用权限设置:"/> | ||||
|  | ||||
| 		</LinearLayout> | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:gravity="right"> | ||||
|  | ||||
| 		<TextView | ||||
| 			android:layout_width="wrap_content" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:text="Phone Connect Rule :"/> | ||||
| 				<Button | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="悬浮窗设置" | ||||
| 					android:id="@+id/activitysettingsButton2" | ||||
| 					android:onClick="onCanDrawOverlays"/> | ||||
|  | ||||
| 		<androidx.recyclerview.widget.RecyclerView | ||||
| 			android:id="@+id/recycler_view" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="0dp" | ||||
| 			android:layout_weight="1.0" | ||||
| 			android:background="@drawable/recycler_view_border" | ||||
| 			android:layout_margin="5dp"/> | ||||
| 				<Button | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="默认拨号设置" | ||||
| 					android:id="@+id/activitysettingsButton1" | ||||
| 					android:onClick="onDefaultPhone"/> | ||||
|  | ||||
| 		<TextView | ||||
| 			android:layout_width="wrap_content" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:text="单元测试:"/> | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 		<LinearLayout | ||||
| 			android:orientation="horizontal" | ||||
| 			android:layout_width="match_parent" | ||||
| 			android:layout_height="wrap_content" | ||||
| 			android:gravity="right"> | ||||
|  | ||||
| 			<Button | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="Unit Test" | ||||
| 				android:onClick="onUnitTest"/> | ||||
| 				android:text="音量设置:"/> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:gravity="center_vertical"> | ||||
|  | ||||
| 				<TextView | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:layout_marginLeft="10dp" | ||||
| 					android:id="@+id/tv_volume"/> | ||||
|  | ||||
| 				<SeekBar | ||||
| 					android:layout_width="match_parent" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:layout_margin="10dp" | ||||
| 					android:max="100" | ||||
| 					android:id="@+id/bellvolume"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="拨不通电话记录查询:"/> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="vertical" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:gravity="right" | ||||
| 				android:layout_margin="10dp"> | ||||
|  | ||||
| 				<Button | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="下载 BoBullToon" | ||||
| 					android:onClick="onDownloadBoBullToon"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:gravity="right|center_vertical" | ||||
| 				android:layout_margin="10dp"> | ||||
|  | ||||
| 				<TextView | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="查询电话:"/> | ||||
|  | ||||
| 				<EditText | ||||
| 					android:layout_width="0dp" | ||||
| 					android:inputType="phone" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:ems="10" | ||||
| 					android:layout_weight="1.0" | ||||
| 					android:id="@+id/activitysettingsEditText1"/> | ||||
|  | ||||
| 				<Button | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="查询记录" | ||||
| 					android:onClick="onSearchBoBullToonPhone"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="Phone Connect Rule :"/> | ||||
|  | ||||
| 			<androidx.recyclerview.widget.RecyclerView | ||||
| 				android:id="@+id/recycler_view" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="400dp" | ||||
| 				android:background="@drawable/recycler_view_border" | ||||
| 				android:layout_margin="5dp"/> | ||||
|  | ||||
| 			<TextView | ||||
| 				android:layout_width="wrap_content" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:text="单元测试:"/> | ||||
|  | ||||
| 			<LinearLayout | ||||
| 				android:orientation="horizontal" | ||||
| 				android:layout_width="match_parent" | ||||
| 				android:layout_height="wrap_content" | ||||
| 				android:gravity="right"> | ||||
|  | ||||
| 				<Button | ||||
| 					android:layout_width="wrap_content" | ||||
| 					android:layout_height="wrap_content" | ||||
| 					android:text="Unit Test" | ||||
| 					android:onClick="onUnitTest"/> | ||||
|  | ||||
| 			</LinearLayout> | ||||
|  | ||||
| 		</LinearLayout> | ||||
|  | ||||
| 	</LinearLayout> | ||||
|  | ||||
| </LinearLayout> | ||||
| </ScrollView> | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ZhanGSKen
					ZhanGSKen