2020-11-6 折叠屏高效适配的进阶之路”线上沙龙,不容错过

三星折叠屏|保持屏幕状态 三星一直着眼于未来,在科技的领域不断探索,自去年Samsung Galaxy Fold上市以来,已有三款折叠机问世,在一代又一代产品的创新中,展现了手机外形新的趋势。在Galaxy Fold中,我们希望更大的屏幕可以让用户利用多窗口同时执行更多任务、一心多用,手机内外屏切换拥有连续性、自由切换。那么为了给用户带来无缝衔接、状态一致的体验,在多窗口和手机内外屏切换过程中,应用应保持界面的连续性、保留数据和状态。 多窗口和内外屏切换举例 1)在折叠屏内屏中,浏览网页或者阅读电子书,打开多窗口,用户的预期肯定是当 阅读详情

软件绿色联盟在2020年推出“折叠屏UX规范技术沙龙”系列活动,联合业内已适配折叠屏的标杆企业,重点围绕折叠屏UX设计、开发指导、适配案例等内容展开分析详解,为广大开发者技术赋能,共同构建折叠屏手机应用生态。

在这里插入图片描述
本期沙龙将邀请折叠屏技术专家聚焦折叠屏手机平行视界的直播锁屏、折叠屏标准规范2.0解读、分屏分栏三大方面进行深度讲解,同时特邀腾讯地图和移动139邮箱的技术大咖分享适配案例及实操心经。以创新打破边界,用技术提升用户体验,欢迎对折叠屏感兴趣的开发者加入我们交流讨论。

主题:

折叠屏UX规范技术沙龙·第七期—折叠屏高效适配的进阶之路

时间:

11月12日 15:00

参加方式:
关注【软件绿色联盟】公众号,查看更多活动信息

讲师简介

在这里插入图片描述

议程安排

在这里插入图片描述

Jetpack WindowManager,Android 折叠屏官方适配方案! Jetpack WindowManager,Android 折叠屏官方适配方案!专为折叠屏而生~ 阅读详情

相关推荐

Android开发项目实战:实现折叠式布局

首先实现一个头部固定的ExpandedListView,然后在它的基础上实现:在头部加一个背景图片,默认状态下他处于展开状态,往上滑的时候背景图片逐渐的折叠起来,往下滑的时候背景图片慢慢的展开效果图如下: 通过CoordinateLayout实现的折叠式布局 有人可能会说这不就是折叠式布局吗?是的,这就是Android 5.0给我们提供的材料设计库中的CoordinateLayout就是解决这个...

weixin_43901866的博客 1836

【Android折叠屏适配】基于AutoSize框架适配折叠屏并兼容多窗口模式

基于AutoSize框架结合多个设计图对可折叠设备进行适配,并兼容多窗口模式。

编程之美 4110

Qt for Android(八) —— QT 监听 Android 的返回键,或者其他Activity 事件

这篇文章要基于前面的基础,我们才能继续下面的内容,建议阅读。 Qt for Android(一) —— QT 中如何调用android方法 Qt for Android(二) —— QT 中调用自定义Android方法详细教程(获取Android设备的SN号) Qt for Android(三) —— QT 中获取 Android 的Services,并调用需要Context参数的 c方法(设置音量、亮度等) 背景 QT 监听 Android设备的返回键有两种方式,一种是在 QT 层监听,第二种是在 And

q2nAmor 1937

Android 折叠屏适配攻略

随着三星 Galaxy Fold 和 华为 Mate X 的发布,折叠屏手机开始进入大家的视线。在改变手机体验的同时,也给我们开发人员在适配方面带来了更多的挑战。本文给大家介绍一下 Android 开发中和折叠屏相关的一些概念,以及如何进行折叠屏的适配。 折叠屏适配 折叠屏之所以需要适配,是因为我们的应用有可能在运行的过程中,所在的屏幕尺寸发生了变化,这种情况对现有项目多少都会产生一些问题...

weixin_45365889的博客 3147

详解Android 折叠屏适配攻略

主要介绍了Android 折叠屏适配攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

华为EC6108V9E刷机实战:从U盘准备到开机优化的完整避坑指南

本文提供华为悦盒EC6108V9E刷机与优化的完整实战指南。针对搭载RK3228芯片和安卓4.4.4系统的设备,从型号确认、固件选择、U盘准备,到详细刷机步骤、常见故障排除,以及刷机后的深度性能优化,手把手帮助用户规避风险,让旧盒子焕发新生,成为流畅的全能媒体中心。

weixin_29324401的博客 1201

Android 11----折叠屏初识

文章目录Android 11----折叠屏初识声明折叠屏简介折叠屏API接口合页角度传感器(铰链)设备状态折叠屏应用适配折叠屏调试环境应用适配折叠屏参考资料修改说明 Android 11----折叠屏初识 声明 博客地址:http://blog.youkuaiyun.com/luzhenrong45 折叠屏简介 “折叠屏”更宏观的概念也叫“柔性屏”,可以实现360度的弯曲,甚至扭曲。 可折叠设备通常在显示屏上有一个折页,或者有一个宽度的铰链将两个显示屏分开。带有铰链的设备可以在铰链后面跨越内容,比如微软Surface

一路到黑 3399

stm32f103c8t6的中文字库

stm32的成熟中文字库,上手即用,操作简单

nbbskk的博客 3654

Flutter 屏幕适配

志当存高远。——诸葛亮 屏幕尺寸大全 菜单栏共有5个选项,包括手机、平板、手表、电脑、显示器,分别显示屏幕尺寸、PPI、纵横比、dp和px 单位下的宽✘高,以及DPI。 官方设计规范 适配原理 屏幕尺寸 严格来说,屏幕尺寸实际被物理尺寸和显示分辨率两个部分定义。而我们今天对各类手机、Pad 设备所说的屏幕尺寸,只指物理尺寸。如果一块手机屏幕的物理尺寸是 5.0英寸,即是指该手机屏幕对角线的长度。 屏幕分辨率 屏幕分辨率是指屏幕图像的精密度,是显示器所能显示的...

我很好 1万+

Clang Static Analyzer 使用教程:本地 + CMake + GitHub Actions 自动静态分析实战

本文介绍了ClangStaticAnalyzer静态代码分析工具的使用方法。该工具基于Clang/LLVM,可检测C/C++代码中的内存泄漏、空指针等常见错误。主要内容包括:安装指南(Ubuntu/macOS/Windows)、命令行使用方法、CMake项目集成方案、GitHub Actions自动化分析配置,以及HTML报告生成与查看。文章还提供了官方资源链接,帮助开发者系统掌握从本地调试到持续集成的完整静态分析工作流,提升代码质量保障能力。适用于需要在开发过程中实施静态分析的C/C++项目。

u014358031的博客 2159

光学设计必看:如何用泽尼克系数优化镜头像差?从Zemax到实际案例解析

本文深入解析了如何利用泽尼克系数优化镜头像差,从理解其工程价值、解码软件报告,到在Zemax中主动设置优化目标。通过高倍显微物镜等实际案例,详细展示了如何通过分析泽尼克系数诊断问题,并实施针对性优化策略,从而实现对球差、彗差等像差的精准控制,提升光学设计的精细度和系统稳健性。

gg901的博客 1035

Android折叠屏适配

随着三星 Galaxy Fold 和 华为 Mate X 的发布,折叠屏手机开始进入大家的视线。在改变手机体验的同时,也给我们开发人员在适配方面带来了更多的挑战。本文给大家介绍一下 Android 开发中和折叠屏相关的一些概念,以及如何进行折叠屏的适配。 折叠屏适配 折叠屏之所以需要适配,是因为我们的应用有可能在运行的过程中,所在的屏幕尺寸发生了变化,这种情况对现有项目多少都会产生一些问题。 所以折叠屏适配的本质是:当应用运行时,屏幕的尺寸、密度或比例发生了变化,应用能够继续在变化后的屏幕上正常显示和正常运

迷途可达C的博客 1913

标题:Stata17安装后遇到Java安装问题解决方法

设置JAVA_HOME环境变量:在Windows上,您需要设置JAVA_HOME环境变量以告诉Stata Java的安装路径。d. 输入变量名为JAVA_HOME,变量值为Java安装路径。注意:请确保您的Java版本与Stata兼容,并使用正确的Java安装路径。设置Stata的Java安装路径:现在,您需要告诉Stata Java的安装路径。如果您看到Java版本信息,则表示Java已成功安装。如果没有安装,请先下载并安装Java。确认Java已安装:首先,请确保您的计算机上已经正确安装了Java。

CyberSparkZ的博客 2868

Android 折叠屏适配最全的攻略在这里

随着三星 Galaxy Fold 和 华为 Mate X 的发布,折叠屏手机开始进入大家的视线。在改变手机体验的同时,也给我们开发人员在适配方面带来了更多的挑战。本文给大家介绍一下 Android 开发中和折叠屏相关的一些概念,以及如何进行折叠屏的适配。 折叠屏适配 折叠屏之所以需要适配,是因为我们的应用有可能在运行的过程中,所在的屏幕尺寸发生了变化,这种情况对现有项目多少都会产生一些问题。 所以折叠屏适配的本质是:当应用运行时,屏幕的尺寸、密度或比例发生了变化,应用能够继续在变化后的屏幕上正常显..

冯旭的博客 1万+

从 central AAE 到 non-central AAE,重新理解 SAP PI 和 AEX 里的适配器引擎部署策略

摘要: SAP PI 项目中后期常面临运行时部署问题(如流量、隔离、权限等),而 Advanced Adapter Engine(AAE)是关键组件。AAE 分为 central(与集成服务器绑定,适合简单场景)和 non-central(独立部署,适合跨区域复杂网络)。non-central AAE 支持本地用户管理,增强独立性但增加治理复杂度。AEX(Java-only 轻量版 PI)与 non-central AAE 不同,前者是安装选项,后者是运行时部署方式。实际应用中,non-central AA

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 65

科技与伦理的平衡点:人类计算的伦理

科技与伦理的平衡点:人类计算的伦理 关键词 科技与伦理 人类计算 隐私问题 道德决策自动化 公平性与偏见 法律与社会责任 摘要 本

AI天才研究院 1164

Android性能优化—屏幕适配方案

像素(px) 含义:通常所说的像素,就是CCD/CMOS上光电感应元件的数量,一个感光元件经过感光,光电信号转换,A/D转换等步骤以后,在输出的照片上就形成一个点,我们如果把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”(Pixel)。简而言之,像素就是手机屏幕的最小构成单元。 单位:px(pixel),1px = 1像素点 一般情况下UI设计师的设计图会以px作为统一的计量单位。 绝对单位 1px 全天下所有的1px都是一样大的 相对:1%.

yzpbright的博客 1836

华为OD机试双机位C卷-简单的解压缩算法(C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【简单的解压缩算法】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD真题【简单的解压缩算法】。

qq_45776114的博客 477

粮草先行——Android折叠屏开发技术点番外篇之运行时变更处理原则

上一篇文章中,我们有提到Activity在屏幕尺寸发生变更时的处理方式,总共有两种: 重启APP以适应屏幕改变; 手动处理数据,避免APP重启。 同样,这两种方式也同时适用于改变屏幕方向、更改系统语言、甚至输入法等等。 因此,本文也同样适用于改变屏幕方向等情况的处理。 或许你会有疑问:我们该如何选择合适的处理方式呢? 我给你的答案是:选择最合适的。 这么说好像跟没说一样,别急,给大家举个例子就明白了: 比如更改屏幕方向,由竖屏转换为横屏,如果我们只有一套布局,符合按比例缩放仍然显示正常的话,我们大...

imherer的博客 173

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Android实现文本折叠效果

小需求:默认展示4行,超过4行出现“查看全部”,点击则加载浮层显示完整内容; 实现是参考下面网址代码,但是有一些改动(主要涉及纯引英文的文本下面网址的代码可能有些问题) https://www.jianshu.com/p/f4f99eb932d4 最终显示代码如下: import android.content.Context import android.graphics.Col...

且听真言 2342

深度学习工具包 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")

Android开发 - 解决DialogFragment在全屏时View被状态栏遮住的问题

我的上一篇文章:设置DialogFragment全屏显示 可以设置对话框的内容全屏显示,但是存在在某些机型上顶部的View被状态栏遮住的问题。经过测试,发现了一种解决办法,在DialogFragment的onCreateView()中添加一个布局监听器: @Override public View onCreateView(LayoutInflater inflater, ViewGroup co...

weixin_34026276的博客 931

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android 全屏界面 到带有状态栏的界面切换时 状态栏盖住页面内容问题

问题:1: 从一个全屏界面跳转到正常的界面时,顶部会被状态栏覆盖住,会延迟1秒恢复正常。 解决方案: 在页面进行跳转之前(也就是在全屏的界面),加上以下代码: /**解决进入首页时 上部分显示半个问题*/ WindowManager.LayoutParams attr = getWindow().getAttributes(); at...

三石磊168的博客 2271

Android 华为平行视界适配(左右分屏)判断悬浮,展开,折叠

因为现在有好多折叠屏手机手机厂商推出了品行视界,也就是左右分屏在左面屏幕不发生改变的情况下降下一个页面放到有面可以左右一起看,在我们点击有面页面的时候有面的首个页面就回跑到左面,右面的第二个页面就有在右面 其实适配很简单首先在清单文件添加 <meta-data android:name="EasyGoClient" android:value="true" /> 然后如果有播放器的可以看需求添加这个这个厂商官方的说明是 magicWindow双

王鑫林的博客 1万+

目前最好的折叠屏手机也“翻车”了

作者:黄天然来源:敲黑板临近3月,又到了一年一度手机各大品牌即将推出新一轮旗舰机的时刻。除了5G的新卖点,在推陈出新、刺激消费者换机需求的命题下,厂商们的招数已经不多了。近日,三星即将推...

网易智能 1068

【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )

一、Android、Flutter 折叠屏适配、 二、展开大屏适配、 三、折叠主屏适配、 四、折叠副屏适配、 五、折叠屏动态热切换适配、 五、拉伸布局、 六、X 轴自适应适配、 七、布局重构、 八、Android、Flutter 中的程序配置、 1、屏幕自适应配置、 2、设置切换屏蔽宽高比不重启适配、 3、设置最大最小屏幕比例、

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2万+

android 重叠_如何修复Android上的“检测到屏幕重叠”错误

android 重叠Starting with Android Marshmallow, there’s a curious error that sometimes shows its face, but it can be hard to decipher what’s causing it. The “screen overlay detected” error is a troubling...

4311
上一篇: 超千人围观,零基础高效适配折叠屏沙龙在线成功举办
下一篇: 直播预约丨阿里技术专家在线解读绿标5.0稳定性标准、解密淘宝稳定性安全生产
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值