/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.org.matomo.demo.chechbox;
import ohos.agp.animation.Animator;
import ohos.agp.animation.AnimatorValue;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.AttrSet;
import ohos.agp.components.Component;
import ohos.agp.components.element.Element;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.components.element.StateElement;
import ohos.agp.render.Canvas;
import ohos.agp.render.Paint;
import ohos.agp.render.Path;
import ohos.agp.utils.Color;
import ohos.agp.utils.RectFloat;
import ohos.agp.window.dialog.ToastDialog;
import ohos.app.Context;
import ohos.multimodalinput.event.MmiPoint;
import ohos.multimodalinput.event.TouchEvent;
import static ohos.agp.components.ComponentState.*;
/**
* BaseHelper
*
* @author ZhongDaFeng
*/
public class RBaseHelper<T extends Component> implements IClip, Component.LayoutRefreshedListener, Component.DrawTask, Component.TouchEventListener {
/**
* 自定义背景key
*/
private static final String background_normal = "background_normal";
private static final String background_pressed = "background_pressed";
private static final String background_unable = "background_unable";
private static final String background_checked = "background_checked";
private static final String background_selected = "background_selected";
/**
* 渐变方向
*/
private static final String TOP_BOTTOM = "TOP_BOTTOM";
private static final String TR_BL = "TR_BL";
private static final String RIGHT_LEFT = "RIGHT_LEFT";
private static final String BR_TL = "BR_TL";
private static final String BOTTOM_TOP = "BOTTOM_TOP";
private static final String BL_TR = "BL_TR";
private static final String LEFT_RIGHT = "LEFT_RIGHT";
private static final String TL_BR = "TL_BR";
private static final String gradient_orientation = "gradient_orientation";
private static final String corner_radius = "corner_radius";
private static final String corner_radius_top_left = "corner_radius_top_left";
private static final String corner_radius_top_right = "corner_radius_top_right";
private static final String corner_radius_bottom_left = "corner_radius_bottom_left";
private static final String corner_radius_bottom_right = "corner_radius_bottom_right";
/**
* 边框宽度
*/
private static final String border_width_normal = "border_width_normal";
private static final String border_width_pressed = "border_width_pressed";
private static final String border_width_unable = "border_width_unable";
private static final String border_width_checked = "border_width_checked";
private static final String border_width_selected = "border_width_selected";
/**
* 边框颜色
*/
private static final String border_color_normal = "border_color_normal";
private static final String border_color_pressed = "border_color_pressed";
private static final String border_color_unable = "border_color_unable";
private static final String border_color_checked = "border_color_checked";
private static final String border_color_selected = "border_color_selected";
private String strBgType = "";
/**
* 背景类型{1:单一颜色值 2:颜色数组 3:图片}
*/
protected int BG_TYPE_COLOR = 1, BG_TYPE_COLOR_ARRAY = 2, BG_TYPE_IMG = 3;
//corner
private float mCornerRadius;
private float mCornerRadiusTopLeft;
private float mCornerRadiusTopRight;
private float mCornerRadiusBottomLeft;
private float mCornerRadiusBottomRight;
//BorderWidth
private float mBorderDashWidth = 0;
private float mBorderDashGap = 0;
private int mBorderWidthNormal = 0;
private int mBorderWidthPressed = 0;
private int mBorderWidthUnable = 0;
private int mBorderWidthChecked = 0;
private int mBorderWidthSelected = 0;
//BorderColor
private Color mBorderColorNormal;
private Color mBorderColorPressed;
private Color mBorderColorUnable;
private Color mBorderColorChecked;
private Color mBorderColorSelected;
//Background
private Color mBackgroundColorNormal;
private Color mBackgroundColorPressed;
private Color mBackgroundColorUnable;
private Color mBackgroundColorChecked;
private Color mBackgroundColorSelected;
//BackgroundColorArray
private Color[] mBackgroundColorNormalArray;
private Color[] mBackgroundColorPressedArray;
private Color[] mBackgroundColorUnableArray;
private Color[] mBackgroundColorCheckedArray;
private Color[] mBackgroundColorSelectedArray;
private ShapeElement mBackgroundNormal;
private ShapeElement mBackgroundPressed;
private ShapeElement mBackgroundUnable;
private ShapeElement mBackgroundChecked;
private ShapeElement mBackgroundSelected;
private Element mBackgroundNormalBmp;
private Element mBackgroundPressedBmp;
private Element mBackgroundUnableBmp;
private Element mBackgroundCheckedBmp;
private Element mBackgroundSelectedBmp;
//Gradient
private int mGradientType = 0;
private float mGradientRadius;
private float mGradientCenterX, mGradientCenterY;
private ShapeElement.Orientation mGradientOrientation = ShapeElement.Orientation.BOTTOM_TO_TOP;
private int mShadowDx;
private int mShadowDy;
private Color mShadowColor;
private int mShadowRadius;
//View/ViewGroup是否可用
private boolean mIsEnabled = true;
//ripple
private boolean isUseRipple;
private Color mRippleColor;
private Element mRippleMaskDrawable;
//null normal drawable
private static final int MASK_STYLE_NULL = 1;
private Element mViewBackground;//控件默认背景Drawable
private int[][] states = new int[6][];
private StateElement mStateBackground;
private float[] mBorderRadii = new float[8];
protected Context mContext;
/**
* 是否设置对应的属性
*/
private boolean isHasPressedBgColor = false;
private boolean isHasPressedBgBmp = false;
private boolean isHasUnableBgColor = false;
private boolean isHasUnableBgBmp = false;
private boolean isHasCheckedBgColor = false;
private boolean isHasSelectedBgColor = false;
private boolean isHasCheckedBgBmp = false;
private boolean isHasSelectedBgBmp = false;
private boolean isHasPressedBorderColor = false;
private boolean isHasUnableBorderColor = false;
private boolean isHasCheckedBorderColor = false;
private boolean isHasSelectedBorderColor = false;
private boolean isHasPressedBorderWidth = false;
private boolean isHasUnableBorderWidth = false;
private boolean isHasCheckedBorderWidth = false;
private boolean isHasSelectedBorderWidth = false;
// view
protected T mView;
//EmptyStateListDrawable
private StateElement emptyStateListDrawable = new StateElement();
//ClipHelper
protected ClipHelper mClipHelper = new ClipHelper();
//clipLayout
private boolean isClipLayout = false;
private float sy;
private float sx;
AnimatorValue animatorValue = new AnimatorValue();
private float zj;
private Paint paint;
public RBaseHelper(Context context, T view, AttrSet attrs) {
mView = view;
mContext = context;
mView.addDrawTask(this);
mView.setTouchEventListener(this);
mView.setLayoutRef
没有合适的资源?快使用搜索试试~ 我知道了~
可以解析每个按钮的点击事件所上报的数据
共100个文件
java:64个
xml:10个
json:8个
需积分: 5 0 下载量 136 浏览量
2024-05-01
09:55:03
上传
评论
收藏 276KB ZIP 举报
温馨提示
openharmony的第三方组件适配移植,可以解析每个按钮的点击事件所上报的数据
资源推荐
资源详情
资源评论
收起资源包目录
可以解析每个按钮的点击事件所上报的数据 (100个子文件)
gradlew.bat 3KB
demo.gif 88KB
.gitignore 222B
build.gradle 923B
build.gradle 359B
build.gradle 350B
settings.gradle 34B
gradlew 6KB
gradle-wrapper.jar 57KB
RBaseHelper.java 54KB
RTextHelper.java 38KB
TrackHelper.java 34KB
Tracker.java 20KB
DemoAbilitySlice.java 11KB
QueryParams.java 11KB
DefaultDispatcher.java 10KB
Checksum.java 9KB
EventDiskCache.java 9KB
RCheckHelper.java 8KB
DownloadTracker.java 6KB
DefaultPacketSender.java 6KB
DrawableUtils.java 6KB
AttrUtils.java 5KB
SettingAbliltySlice.java 5KB
CustomVariables.java 5KB
TextUtils.java 4KB
TrackMe.java 4KB
MyApplication.java 4KB
TypedAttrUtils.java 4KB
Matomo.java 4KB
ClipHelper.java 4KB
TrackerBuilder.java 3KB
EcommerceItems.java 3KB
ShadowDrawable.java 3KB
InstallReferrerReceiver.java 3KB
PixelMapUtil.java 3KB
LegacySettingsPorter.java 3KB
RText.java 3KB
PacketFactory.java 2KB
Dispatcher.java 2KB
DensityUtils.java 2KB
DeviceHelper.java 2KB
Event.java 2KB
MatomoExceptionHandler.java 2KB
CustomDimension.java 2KB
RCheckBox.java 2KB
UrlHelper.java 2KB
Packet.java 2KB
MatomoApplication.java 2KB
EventCache.java 2KB
DimensionQueue.java 2KB
ClipPathManager.java 2KB
Logger.java 1KB
Connectivity.java 1KB
PackageManagerImpl.java 1KB
ActivityHelper.java 1KB
PackageManager.java 1KB
ITextViewFeature.java 963B
StrUtil.java 889B
DispatchMode.java 874B
IClip.java 864B
BuildInfo.java 827B
RHelper.java 820B
PropertySource.java 568B
MainAbilitySlice.java 536B
DefaultDispatcherFactory.java 510B
ExampleOhosTest.java 486B
PacketSender.java 428B
SettingAblilty.java 305B
MainAbility.java 299B
CurrencyFormatter.java 296B
Objects.java 268B
DispatcherFactory.java 146B
float.json 3KB
config.json 2KB
string.json 2KB
color.json 1KB
config.json 870B
config.json 378B
string.json 155B
color.json 91B
LICENSE 1KB
CHANGELOG.md 201B
icon.png 7KB
check_yes.png 931B
ic_more.png 712B
check_no.png 532B
point.png 334B
gradle.properties 549B
gradle-wrapper.properties 200B
ability_demo.xml 11KB
ability_settings.xml 4KB
ms__list_item.xml 1KB
ms__drawable.xml 938B
ability_main.xml 530B
background_checkbox.xml 338B
refresh_bg.xml 219B
background_ability_main.xml 184B
background_btn.xml 176B
background_ability_setting_ablilty.xml 176B
共 100 条
- 1
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6833
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STM32F103C8T6-物联网工作空间-RT-Thread
- gold菜鸟运维资源-自动化ansible
- tensorflow-rocm-2.10.1.540-cp310-cp310-manylinux2014-x86-64.whl
- tensorflow-rocm-2.10.1.540-cp37-cp37m-manylinux2014-x86-64.whl
- ch341b编程器驱动和软件
- tensorflow-2.9.1-cp37-cp37m-win-amd64.whl
- stream.x86.zh-cn.datstream.x86.zh-cn.datstream.x86.zh-cn.dat
- 员工考勤系统.docx
- stream.x64.zh-cn.datstream.x64.zh-cn.datstream.x64.zh-cn.dat
- stream.x86.x-none.datstream.x86.x-none.dat
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功