android scrollview 动态滚动

ScrollView制作屏幕滚动效果 ScrollView 的使用,附带详解。看完这篇你就会使用 ScrollView 制作滚动效果。 阅读详情
protected void onScrollChanged(int x, int y, int oldx, int oldy) 

Unfortunately Google never thought that we would need to access it, which is why they made it protected and didn't add a "setOnScrollChangedListener" hook. So we will have to do that for ourselves.

First we need an interface.

package com.test; 
 
public interface ScrollViewListener { 
 
    
void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy); 
 
} 

package com.test; 
 
import android.content.Context; 
import android.util.AttributeSet; 
import android.widget.ScrollView; 
 
public class ObservableScrollView extends ScrollView { 
 
    
private ScrollViewListener scrollViewListener = null; 
 
    
public ObservableScrollView(Context context) { 
        
super(context); 
    
} 
 
    
public ObservableScrollView(Context context, AttributeSet attrs, int defStyle) { 
        
super(context, attrs, defStyle); 
    
} 
 
    
public ObservableScrollView(Context context, AttributeSet attrs) { 
        
super(context, attrs); 
    
} 
 
    
public void setScrollViewListener(ScrollViewListener scrollViewListener) { 
        
this.scrollViewListener = scrollViewListener; 
    
} 
 
    
@Override 
    
protected void onScrollChanged(int x, int y, int oldx, int oldy) { 
        
super.onScrollChanged(x, y, oldx, oldy); 
        
if(scrollViewListener != null) { 
            scrollViewListener
.onScrollChanged(this, x, y, oldx, oldy); 
        
} 
    
} 
 

}

Linux 只读文件系统排查与恢复:dmesg、根分区、fstab 实战 当 Linux 文件系统检测到元数据不一致、底层 I/O 错误或 journal 提交失败时,内核可能主动将挂载点 remount 为只读,表现为 Read-only file system。其本质是存储层异常时的保护动作,避免继续写入导致损坏扩大。理解 ext4、XFS 等文件系统的错误策略,并结合 dmesg 中的 I/O error、EXT4-fs error 与 remount 日志,可快速区分磁盘坏道、元数据损坏或 fstab 配置问题。对 CentOS 7.9、Ubuntu 等常见环境,掌握根分 阅读详情

相关推荐

ANSYS 2025 R2安装深度指南:系统级部署与许可证故障排查

ANSYS作为工业级多物理场仿真平台,其安装本质是跨操作系统、许可证服务与运行时环境的系统工程。理解FlexNet许可证协议栈、Windows服务生命周期及Linux动态链接机制,是解决‘License file not found’‘Failed to start ANSYS License Manager’等高频问题的前提。技术价值在于保障CAE仿真环境的可复现性、可审计性与集群稳定性;典型应用场景涵盖高校机房批量部署、企业级浮动许可服务器搭建及ANSYS认证考试环境配置。本文聚焦ANSYS 2025

weixin_33882452的博客 815

Android ScrollViewy与HorizontalScrollView实现上下左右滚动

<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentTo

丨XR丨岁月轻狂 的专栏 935

NUMA;numactl;的一些总结

依赖架构是否支持NUMA的平衡:ARCH_SUPPORTS_NUMA_BALANCING,同时!是否打开基于NUMA内存平衡的自动页错误中断。内存会被映射到相应的本地内存节点上。在NUMA机器上,如果一个CPU访问远端节点,性能损耗非常大。如果打开这个内存平衡功能,内核会周期性采样线程的内存访问,对内存的申请做干涉,尽量将内存申请放到本地内存节点(通过页错误重新做内存申请)。默认打开NUMA 平衡功能。依赖于NUMA_BALANCING。

mzhan017的博客 1001

Java写字幕滚动_Android实现字幕滚动的方法

package com.tony.autoscroll;import android.content.Context;import android.os.Handler;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.widget.Scro...

weixin_39662142的博客 225

Android ScrollView自动滑动

Android ScrollView自动滑动

基于微信小程序的答题系统

学习视频:《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!5812)]《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_83330193的博客 499

android ScrollView自动滚动

但是,如果在TextView的append后面马上调用fullScroll,会发现无法滚动到真正的底部,这是因为Android下很多(如果不是全部的话)函数都是基于消息的,用消息队列来保证同步,所以函数调用多数是异步操作的。当TextView调用了append会,并不等text显示出来,而是把text的添加到消息队列之后立刻返回,fullScroll被调用的时候,text可能还没有显示,自然无法滚动到正确的位置。在Android,一个单独的TextView是无法滚动的,需要放在一个ScrollView中。

HRD的博客 1428

单目标跟踪算法及其复现过程---SiamFC(一)

在test.py文件中,就是利用训练出来的模型进行测试,需要更改预训练模型的路径,测试集的路径,以OTB100为例,最后输出的是对每一帧目标位置的坐标点。代码如下:首先需要下载got10k官方库,只需要在终端输入(注意:在终端安装各种库的时候不能使用网络代理),在环境已经配置到的情况下,只需要该其中的路径和就可以运行。这个系列博客仅为了记录各目标跟踪算法的复现(大多为跑通大佬们实现的代码),包括其中出现的很多问题和错误,学到的新知识等等。解决,而且只使用在线的方法,限制了他们可以学习的模型的丰富性。

weixin_58244117的博客 4761

Thorium 下载安装指南:选对 SIMD 档位,一次装对

Thorium 下载安装不复杂,坑只在选包:它是 Chromium 的加速分叉,LTO、PGO 编译优化提速,再按 CPU 指令集分档出包。标签开得多、视频看得多的人换它有感,2010 年前的老机器先看选包再决定。 ## Thorium 相比 Chromium 的默认差异 | 项目 | Chromium 默认 | Thorium 默认 | | --- | --- | --- | | Do No

gitblog_00437的博客 757

C# 8. 在新窗口中使用chart控件波形移动显示

1. 添加新窗口 在Form1中新建button控件,名称为buttonStartWaveDisp,这样单击就能调出Form2窗口 在Form1中增加如下: private void buttonStartWaveDisp_Click(object sender, EventArgs e) { if((form2 == null) || (form2.IsDisposed == true)) { form2 = new Form2();

TrueLink的博客 1432

手把手教你用HI3516CV610搭建智能安防摄像头(附完整开发资料)

本文详细介绍了基于海思HI3516CV610 SOC搭建智能安防摄像头的完整开发流程,包括硬件选型、系统架构设计、开发环境搭建、智能分析功能开发及系统调优。通过实战案例,展示了如何利用内置NPU实现人形检测和异常行为分析,并提供了量产测试方案,帮助开发者快速完成智能摄像头项目。

backprop5master的博客 541

解决Windows挂起状态

 手动排除Windows的挂起状态 有些软件安装时可能遇到下面的提示: 遇到了以下问题         安装程序检测到计算机重新启动的过程可能暂停。建议退出安装         序,重新启动计算机,然后再重试。 如下图: 挂起是Windows系统在遇到当前无法修改当前运行中的系统的正常行为。挂起时对系统的维护受到限制,例如无法安装某些软件,无法使用s

wybliw的专栏 2万+

RouterOS v7.6实战:5分钟搞定IPv6双栈配置(含光猫桥接避坑指南)

本文详细解析了在RouterOS v7.6系统中配置IPv6双栈网络的实战步骤,特别针对家庭网络光猫桥接模式下的常见问题提供了避坑指南。文章涵盖了从基础配置到企业级部署的进阶内容,包括IPv6前缀获取、DHCPv6客户端设置、路由通告以及安全优化,帮助用户充分利用v7.6版本在IPv6支持上的改进与优势。

embedding5hiker的博客 1279

imx6ull开发板,A/B切槽 ,MQTT,OTA 远程升级系统。( 第五篇 )

电脑或者手机,给开发板 发送控制指令,开发板接收指令后,下载升级包,烧录系统,重启,运行新的系统,数据区与系统隔离,用户数据不受系统升级的影响。MQTT 程序代码 mqtt_ota.c , 不会编译的话,我写过一篇buildroot sdk 的文章,里面有编译方法。打开 MQTTX 在 Windows 的客户端,也可以手机 安装客户端,订阅主题,给开发板 发送命令。下载 MQTT 主程序、2个脚本 到开发板的自定义目录里,根据自己的路径,修改 MQTT 主程序。升级速度还是很快的。

2301_79809746的博客 804

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

WW、forever的博客 803

【RT-DETR创新改进】改进前必看!对Ultralytics调参, 1:1还原RT-DETR官方版本实验参数,使用原汁原味的RT-DETR模型,才能高效跑实验、高效涨点、收割小论文、完成大论文!!!

本文针对Ultralytics训练RT-DETR精度不佳问题,提供参数配置优化方案。通过对比官方RT-DETR参数设置,详细指导如何修改Ultralytics版本的关键参数,包括优化器、学习率、权重衰减等6处配置调整。操作步骤涵盖default.yaml文件修改和trainer.py代码调整,确保模型收敛性能达到官方水平,帮助研究者快速提升实验效果。文末附官方源码链接和具体参数配置网址供参考。

Ai缝合怪、助力小伙伴高效发论文 1775

Agent Harness

Agency 是模型原生感知、推理、行动的内在能力,源于训练参数;Agent 是该能力的工程落地,由决策模型与运行载体 Harness 组成;开发 Agent 分为模型训练、搭建 Harness 两大核心工作; Harness 由工具、知识、环境观测、交互接口、权限约束五部分构成;Harness 工程师负责原子化工具开发、领域知识按需调度、上下文治理、安全权限管控、采集交互轨迹用于模型迭代; 模型负责推理决策,Harness 负责执行、反馈与安全约束,其本身无法生成智能,仅决定模型能力落地的上限

2401_87562521的博客 473

【ComfyUI】SDXL + 单LoRA 房屋平面图渲染装修

本文介绍了一种基于ComfyUI的室内平面设计图自动生成效果图的工作流。该流程通过导入房屋平面图,结合SDXL室内设计模型与北欧风格LoRA模块,快速生成多房间效果展示。工作流包含图像输入、文本处理、模型加载和图像生成等环节,支持风格化渲染和细节补充,适用于建筑设计、家装展示、房地产营销等场景。核心采用SDXL通用室内设计模型和北欧极简LoRA,通过节点衔接实现自动化批量生成,能在短时间内将平面方案转化为逼真的三维效果图。该技术可提升设计呈现效率,辅助客户决策,并应用于教学研究领域。

Mr数据杨 3649

三月七小助手 March7thAssistant 完整上手指南:星穹铁道日常自动托管 10 分钟跑通

March7thAssistant(三月七小助手)是一款面向《崩坏:星穹铁道》玩家的免费开源自动化助手。它通过截图加图像识别与 OCR 来模拟真人点击,不注入内存、不修改游戏数据,帮新手和上班族玩家自动完成清体力、每日实训、领奖、混沌回忆等周常挑战,并支持云游戏后台与定时执行。核心价值一句话:**把重复劳动交出去,把开拓时间留给自己**。 [![三月七小助手主界面,展示任务列表与设置面板](ht

gitblog_07936的博客 362

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux基础(三)——Bash基础

Linux的Bash基本介绍,Bash命令使用功能,Bash基本特性

liuhuayeyu的博客 1970

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Ubuntu文件系统修复指南:fsck命令从入门到精通

文件系统一致性检查是Linux系统维护中的基础操作,用于修复因异常关机或断电导致的元数据不一致问题。其原理是通过比对inode、数据块位图和目录结构,修正逻辑错误。掌握fsck能有效恢复系统启动故障,避免数据丢失。在Ubuntu等系统中,当出现紧急模式或手动fsck提示时,需在单用户模式下对根分区执行检查。本文详细解析fsck的工作机制、安全操作流程及常见问题处理,帮助你在磁盘故障时从容应对。

weixin_29913663的博客 256

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LangChain 构建 Agent 的核心步骤

工具是 Agent 与外部环境交互的唯一触手。大模型本身并不执行工具代码,它依靠工具的名称(Name)、自然语言描述(Description)和参数模式(Input Schema)来判定“何时调用”以及“如何传参”。在 LangChain 中,定义工具的核心标准是使用@tool名称与描述必须清晰明确:描述中需明确阐述该工具的职责边界、输入限制以及返回格式;强制入参类型校验:使用。

2603_96126046的博客 431

learn-claude-code 第 15 章:集成式 Harness 实现——用同一个 while True 循环驱动工具、权限、记忆、任务、团队与 MCP

本篇解析 learn-claude-code 课程 s15(Integrated Harness)的核心命题——"Many mechanisms, one loop"(许多机制,一个循环)。教程前 14 章把工具调度、权限、Hooks、Todo、子代理、Skills、上下文压缩、记忆、任务系统、后台任务、Cron 调度、Agent 团队、Worktree 隔离、MCP 插件分别做成独立的可运行示例

gitblog_01036的博客 883

Linux fsck 命令详解:文件系统一致性检查与修复实战

文件系统一致性检查是保障数据完整性的基础机制,其核心原理是通过比对超级块、inode 位图与目录项等元数据,发现并修复不一致状态。在 Linux 运维中,fsck 命令承担着磁盘健康巡检与故障恢复的关键角色,尤其适用于 Ubuntu 等系统开机自检、虚拟机异常断电后的根分区修复以及嵌入式平台根文件系统维护。掌握 fsck 的只读排查、交互修复与自动修复策略,能有效提升磁盘故障处理效率,降低数据丢失风险。

weixin_32466193的博客 164

ESP32崩溃报告系统:利用RTC_NOINIT内存实现重启幸存的黑匣子

在嵌入式系统开发中,系统崩溃后的现场信息丢失是常见的调试难题,尤其对于ESP32这类物联网设备。其核心原理在于利用芯片的非易失性存储区域在复位后保留关键数据。ESP32的RTC_NOINIT内存区域在特定复位(如看门狗复位)后仍能保持数据,这为构建“黑匣子”提供了硬件基础。该技术的工程价值在于能够自动捕获崩溃瞬间的寄存器值、任务状态和程序计数器等关键上下文,极大提升了远程设备的可维护性和故障诊断效率。通过注册自定义panic handler,开发者可以在系统崩溃时快速将现场信息保存至RTC_NOINIT区域

weixin_30703911的博客 364

android 常规log、dump、winscope常见抓取方法

则对应的代码可以通过 grep 抓取 writeWmxxx 找出是在哪里打印的该events log。events log开头的字段,比如wm_xxx。应用走到onresume生命周期的log。通知cancel的log。

yimelancholy的博客 4472
上一篇: Android里merge和include标签的使用
下一篇: 很好的关于Bitmap内存讨论的文章
恶魔果实
博客等级 码龄15年 6粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值