diff --git a/aes/build.properties b/aes/build.properties
index 4e72951..f7372af 100644
--- a/aes/build.properties
+++ b/aes/build.properties
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
-#Sun Mar 09 11:30:17 HKT 2025
+#Sun Mar 09 05:43:05 GMT 2025
stageCount=9
libraryProject=libaes
baseVersion=7.6
publishVersion=7.6.8
-buildCount=0
+buildCount=24
baseBetaVersion=7.6.9
diff --git a/libaes/build.properties b/libaes/build.properties
index 24d0718..f7372af 100644
--- a/libaes/build.properties
+++ b/libaes/build.properties
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
-#Sun Mar 09 11:30:09 HKT 2025
+#Sun Mar 09 05:43:05 GMT 2025
stageCount=9
libraryProject=libaes
baseVersion=7.6
publishVersion=7.6.8
-buildCount=0
+buildCount=24
baseBetaVersion=7.6.9
diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestViewPageFragment.java b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestViewPageFragment.java
index a86e697..1c3b39f 100644
--- a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestViewPageFragment.java
+++ b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/TestViewPageFragment.java
@@ -192,7 +192,7 @@ public class TestViewPageFragment extends Fragment implements ViewPager.OnPageCh
}
void initAOHPCTCSeekBar() {
- AOHPCTCSeekBar seekbar = mView.findViewById(R.id.fragmentviewpageAOHPCTCSeekBar1);
+ AOHPCTCSeekBar seekbar = views.get(3).findViewById(R.id.fragmentviewpageAOHPCTCSeekBar1);
seekbar.setThumb(getActivity().getDrawable(R.drawable.ic_launcher));
//seekbar.setThumbOffset(200);
//seekbar.setThumbOffset(1);
@@ -207,7 +207,7 @@ public class TestViewPageFragment extends Fragment implements ViewPager.OnPageCh
}
void initAOHPCTCSeekBar2() {
- AOHPCTCSeekBar seekbar = mView.findViewById(R.id.fragmentviewpageAOHPCTCSeekBar2);
+ AOHPCTCSeekBar seekbar = views.get(3).findViewById(R.id.fragmentviewpageAOHPCTCSeekBar2);
seekbar.setThumb(getActivity().getDrawable(R.drawable.ic_call));
//seekbar.setThumbOffset(200);
//seekbar.setThumbOffset(1);
diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/views/AOHPCTCSeekBar.java b/libaes/src/main/java/cc/winboll/studio/libaes/views/AOHPCTCSeekBar.java
index 7ba3d3f..a0b26b3 100644
--- a/libaes/src/main/java/cc/winboll/studio/libaes/views/AOHPCTCSeekBar.java
+++ b/libaes/src/main/java/cc/winboll/studio/libaes/views/AOHPCTCSeekBar.java
@@ -16,29 +16,21 @@ public class AOHPCTCSeekBar extends SeekBar {
public static final String TAG = "AOHPCTCSeekBar";
- Context mContext;
-
- int thumbWidth = 1;
- int progressBarWidth = 1;
+ volatile int thumbWidth = 1;
+ volatile int progressBarWidth = 1;
// 设置按钮模糊右边边缘像素
- int blurRightDP = 1;
+ volatile int blurRightDP = 1;
+ // 是否从起点拉动的标志
+ volatile boolean isStartSeek = false;
- // 可开始拉动的起始位置(百分比值)
- //static final int ENABLE_POST_PERCENT_X = 20;
- //int seekablePosition;
- // 最小拉动值,滑块拉动值要超过这个值,确定事件才会提交。
- //static final int TO_MIN_VALUE = 15;
// 外部接口对象,确定事件提交会调用该对象的方法
OnOHPCListener mOnOHPCListener;
- // 是否从起点拉动的标志
- boolean mIsStartTo = false;
- // 拉动的滑动值
- int mnTo = 0;
+
public void setBlurRightDP(int blurRight) {
this.blurRightDP = blurRight;
}
-
+
public void setOnOHPCListener(OnOHPCListener listener) {
mOnOHPCListener = listener;
}
@@ -55,24 +47,6 @@ public class AOHPCTCSeekBar extends SeekBar {
public AOHPCTCSeekBar(Context context, AttributeSet attrs) {
super(context, attrs);
initView(context);
-
- //LogUtils.d(TAG, "AOHPCTCSeekBar(...)");
-
- // 获得TypedArray
- //TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AToolbar);
- // 获得attrs.xml里面的属性值,格式为:名称_属性名,后面是默认值
- //int colorBackgroud = a.getColor(R.styleable.ACard_backgroudColor, context.getColor(R.color.colorACardBackgroung));
- //int centerColor = a.getColor(R.styleable.AToolbar_centerColor, context.getColor(R.color.colorAToolbarCenterColor));
- //int endColor = a.getColor(R.styleable.AToolbar_endColor, context.getColor(R.color.colorAToolbarEndColor));
- //float tSize = a.getDimension(R.styleable.CustomView_tSize, 35);
- //p.setColor(tColor);
- //p.setTextSize(tSize);
- //Drawable drawable = context.getDrawable(R.drawable.frame_atoolbar);
-
- //setBackground(context.getDrawable(R.drawable.acard_frame_main));
-
- // 返回一个绑定资源结束的信号给资源
- //a.recycle();
}
public AOHPCTCSeekBar(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -81,110 +55,55 @@ public class AOHPCTCSeekBar extends SeekBar {
}
void initView(Context context) {
- LogUtils.d(TAG, "initView(...)");
- mContext = context;
-// Drawable thumbDrawable = getThumb();
-// if (thumbDrawable!= null) {
-// int iconWidth = thumbDrawable.getIntrinsicWidth();
-// LogUtils.d(TAG, String.format("iconWidth %d", iconWidth));
-// seekablePosition = iconWidth;
-// }
- }
- @Override
- protected void onFinishInflate() {
- super.onFinishInflate();
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
- //LogUtils.d(TAG, "ACTION_DOWN");
- // 有效的拖动起始位置(ENABLE_POST_PERCENT_X)%
- //int nEnablePostX = ((getRight() - getLeft()) * ENABLE_POST_PERCENT_X / 100) + getLeft();
- //int nEnablePostX = ((getRight() - getLeft()) * seekablePosition / 100) + getLeft();
- /*LogUtils.d(TAG, "event.getX() is " + Float.toString(event.getX()));
- LogUtils.d(TAG, String.format("thumbWidth %d progressBarWidth %d", thumbWidth, progressBarWidth));
- LogUtils.d(TAG, String.format("mIsStartTo %s", mIsStartTo));
- */
+ getParent().requestDisallowInterceptTouchEvent(true);
if (thumbWidth + blurRightDP > event.getX() && event.getX() > 0) {
- mIsStartTo = true;
- return true;
- //return super.dispatchTouchEvent(event);
+ isStartSeek = true;
}
-// if (!mIsStartTo) {
-// resetView();
-// return false;
-// }
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
- //LogUtils.d(TAG, "ACTION_MOVE");
- /*LogUtils.d(TAG, "event.getX() is " + Float.toString(event.getX()));
- LogUtils.d(TAG, String.format("thumbWidth %d progressBarWidth %d", thumbWidth, progressBarWidth));
- LogUtils.d(TAG, String.format("mIsStartTo %s", mIsStartTo));
- */
- if (mIsStartTo) {
- return super.dispatchTouchEvent(event);
- } else {
- return false;
+ if (isStartSeek) {
+ super.dispatchTouchEvent(event);
}
} else if (event.getAction() == MotionEvent.ACTION_UP
|| event.getAction() == MotionEvent.ACTION_CANCEL) {
- //LogUtils.d(TAG, Integer.toString(getProgress()));
- // 提交100%确定事件
-// if (getProgress() == progressBarWidth) {
-// //((getProgress() == 100) && (mnTo > TO_MIN_VALUE)) {
-// //LogUtils.d(TAG, "Commit mnTo is " + Integer.toString(mnTo));
-// mOnOHPCListener.onOHPCommit();
-// resetView();
-// //return true;
-// } else {
-// resetView();
-// mIsStartTo = false;
-// }
-//
- if (getProgress() == progressBarWidth) {
- mOnOHPCListener.onOHPCommit();
- }
- mIsStartTo = false;
- resetView();
- return false;
+ getParent().requestDisallowInterceptTouchEvent(false);
+ if (getProgress() == progressBarWidth) {
+ mOnOHPCListener.onOHPCommit();
+ }
+ // 重置控件状态
+ setProgress(0);
+ isStartSeek = false;
}
- //LogUtils.d(TAG, "dispatchTouchEvent End");
- return super.dispatchTouchEvent(event);
- }
-
- // 重置控件状态
- //
- void resetView() {
- setProgress(0);
- mnTo = 0;
- mIsStartTo = false;
+ return true;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);
- int height = MeasureSpec.getSize(heightMeasureSpec);
- LogUtils.d(TAG, String.format("width %d height %d", width, height));
+ //int height = MeasureSpec.getSize(heightMeasureSpec);
+ //LogUtils.d(TAG, String.format("width %d height %d", width, height));
- // 使用width和height进行后续操作
-
- // 获取SeekBar的图标
+ // 获取SeekBar的图标宽度
Drawable thumbDrawable = getThumb();
if (thumbDrawable != null) {
// 获取图标宽度
thumbWidth = thumbDrawable.getIntrinsicWidth();
- // 获取进度条宽度
- progressBarWidth = width;//getWidth();// - getPaddingLeft() - getPaddingRight();
- // 计算百分比
- //float percentage = (float) thumbWidth / progressBarWidth * 100;
- LogUtils.d(TAG, String.format("thumbWidth %d progressBarWidth %d", thumbWidth, progressBarWidth));
- //LogUtils.d(TAG, String.format("Thumb width / ProgressBar width percentage: %f", percentage));
-
- //seekablePosition = (int)percentage;
- setThumbOffset(0);
- setMax(progressBarWidth);
}
+
+ // 获取进度条宽度
+ progressBarWidth = width;
+
+ //LogUtils.d(TAG, String.format("thumbWidth %d progressBarWidth %d", thumbWidth, progressBarWidth));
+
+ // 设置图标位置
+ setThumbOffset(0);
+ // 设置进度条刻度
+ setMax(progressBarWidth);
}
}
diff --git a/libaes/src/main/res/layout/fragment_viewpage.xml b/libaes/src/main/res/layout/fragment_viewpage.xml
index c5efc52..33b577a 100644
--- a/libaes/src/main/res/layout/fragment_viewpage.xml
+++ b/libaes/src/main/res/layout/fragment_viewpage.xml
@@ -12,26 +12,6 @@
android:layout_height="wrap_content"
android:text="AOHPCTCSeekBar"/>
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+