Android .9图片的作用与制作

Android高级资源 9-Patch 介绍 Drawable 资源是 Android 应用中使用最广泛、灵活的资源。它不仅可以直接使用图片作为资源,而且可以使用 XML 文件作为资源,只要一个 XML 文件可以被系统编译成 Drawable 子类的对象,那么该 XML 文件就可以作为 Drawable 资源。 Drawable资源保存在res\drawable目录中,实际上,为了适应不同屏幕分辨率,通常情况下将其保存在res\drawable-mdpi、res\drawable-hdpi、res\drawab... 阅读详情

参考1:https://blog.youkuaiyun.com/aqi00/article/details/50163137

参考2:https://blog.youkuaiyun.com/sunbinkang/article/details/77331718

今天想起一个比较不错的图片处理技巧,百度搞清楚记录一下,好记性不如烂笔头,加深一下印象

我们先看下使用一般图片当背景的效果

使用同一张图片,制作成.9图片之后使用的效果

.9图片的作用

  • .9图片的扩展名还是png,文件名后缀一般是 xxx.9.png,所以使用方式跟图片一样
  • 设置拉伸的区域,避免图片失真
  • 设置显示区域,保证拉伸时内容的正常显示

制作.9图片

使用Android Studio 制作(自带.9的绘制工具),我使用的AS版本是3.1.4

选中一张.png的图片,右键 选择 <Create 9-Patch file...> 然后选择一下保存路径跟命名就好了,创建好后如下图

名字跟原有图片名不同,或者删除掉原图,不然编译会报错(资源重复加载)

保存目录选择drawable,选择mipmap会出现xml文件报红,验证资源引用的问题

在你选择保存的目录下就多了一张 xxx.9.png的图片

.9图片的四个属性

上图可以看到,在.9图片上下左右均有一条黑线,这个可以在AS上直接拖动调整

  • 上方的黑线作用

水平拉伸的时候,该黑线的区域无限拉伸,其他位置不变化。左右两边边框厚度不会变

  • 左方的黑线作用

垂直拉伸的时候,该黑线的区域无限拉伸,其他位置不变化。上下两边边框厚度不会变

  • 下方黑线的作用

当该图片作为背景时,文字的水平显示区域

  • 右方黑线的左右

当该图片作为背景时,文字的垂直显示区域

 

如上这样设置,最后的效果见最开始贴出的效果图。一般前两个属性使用比较多,可以用来保证边框不会被拉伸模糊,当在项目中某部分或布局使用统一背景的时候,可以将背景图片转化成.9图片,避免大小差距过大,图片拉伸导致边框模糊

 

 

 

Android奇技淫巧 - 手把手制作 .9图 我记得上一次接触 .9图,还是在刚入行没多久那会儿(2017),当时知道 .9图可以防止因为图片变形,主要涉及到多机型适配场景;最近闲来无事又过了一次《第一行代码》,又看到了 .9图,所以想着记录一下那年尚未完全掌握的知识我一般学习一样的技术的时候,都会先翻一些文章,然后自己写个Demo,最后没问题的话总结一篇Blog,记录我学习中遇到的问题和思考。 阅读详情

相关推荐

Android平台上的.9图片转换工具解析

在制作.9图的过程中,多种工具的使用可以帮助开发者和UI设计师高效地完成工作。以下是目前市面上几个比较流行的.9图制作工具,以及它们各自的优缺点分析。

weixin_42351520的博客 1291

学习 | android studio 如何制作.9图片

android studio .9图片的理解与制作

weixin_58951442的博客 5900

物体检测之非极大值抑制:NMS、softNMS、softerNMS、IoU-Net

当前的物体检测算法为了保证召回率,对于同一个真实物体往往会有多个的候选框输出。由于多余的候选框会影响检测精度,因此需要利用NMS过滤掉重叠的候选框,得到最佳的预测输出。当前有如下几种较为常见的NMS方法, 1.基本NMS 非极大值抑制, 顾名思义就是抑制不是极大值的边框,这里的抑制通常是直接去掉冗余的边框。 这个过程涉及以下两个量化指标: 1.预测得分:NMS假设一个边框的预测得分越高,这个框...

LeoLee 1941

Android Studio中.9图片的含义及制作教程

一、9patch图片的概念 1、9patch图片是andriod app开发里一种特殊的图片形式,文件的扩展名为:.9.png 2、9patch图片的作用就是在图片拉伸的时候保证其不会失真。所以我们使用.9图片,让图片在指定的位置拉伸和在指定的位置显示内容,这样图片的边边角角就不会出现失真了。 二、使用.9图片和不使用的差异 1、9patch和一般图片的区别在于.9图片有四条黑边,而一般的图片没有,这四条黑边就是用来拉伸和指定显示位置的。 2、使用.9图片后,整个图片应该是包裹着你想要显示的内容的,而

JHC的博客 30万+

VPI与Matlab协同仿真:相干光通信接收端DSP算法全解析

本文详细解析了如何利用VPI与Matlab协同仿真,构建完整的相干光通信接收端DSP算法处理闭环。重点介绍了从VPI导出数据后,在Matlab中实现时钟恢复、偏振解复用和载波相位估计等核心算法的步骤与原理,并阐述了如何通过误码率计算完成仿真验证,为相干光通信系统算法研究与验证提供了高效实用的方法。

ll5678的博客 608

卫星测试科普(三):卫星载荷的核心测试设备探秘

总的说来,卫星芯片与元器件,部组件与单机,整机与子系统,系统与整星的设计、定型、制造、验证、总装、发射、在轨等环节都离不开各种测试场景,对于这些卫星测试场景而言,“射频三大件”与高速数字示波器是构成强大测试系统的基础。卫星通信信号生成:覆盖Ka、Q等波段,具备扫频、脉冲、数字调制、噪声信号、雷达信号、数据链信号、OFDM 等多种信号库,用于测试和验证卫星电子设备的电气性能、频率响应、抗干扰能力等。卫星的通信需要高效、快速地传输大量数据,高速信号的质量至关重要,如果卫星信号不佳,卫星就会出现故障或者隐患。

spwbjss的博客 2317

Android开发 .9图 使用备忘

点9图四条边的意义: 老是忘,备注 来一张价值连城的图: 关于在Android Studio中使用.9图片出错解决方案 用过Android Studio的童鞋都知道,AS中对.9的图片增加了安全检查机制,你的.9图片只要有不规范的地方都会给你编译报错,本人刚开始用AS时就深受其苦,后来才找到了解决办法。 解决方式主要有两种: 一是让AS取消掉对.9图片的安全检查。找到你app目录下的build...

samuelnotes的专栏 590

手把手教你做基于stm32的红外、语音、按键智能灯光控制(上)

这次项目使用的板子是stm32f103c8t6最小系统板,这个板子在tb上都能够买到,随便一个最小系统板都可以,== 注意在买最小系统板的时候需要买一个stlink下载器来下载程序。显示模块是使用的0.96英寸的OLED屏幕,注意是使用的IIC通信协议的OLED屏幕,不是使用SPI总线协议的。这次写的代码还顺便集成了检测温湿度的功能,所以要使用DHT11温湿度传感器,来采集温度。本文所设计的基于单片机的灯光控制系统主要由模式选择功能、手动模式和自动模式组成。LED灯自然就是要控制的部件了。

nbbskk的博客 6556

Android制作.9图

使用android studio,因为android studio已经集成.9.png制作工具,只需选中需要生成的png文件,然后右键,点击create 9-patch file 选项。错误提示drawable-hdpi 这个分辨率图片报错了,这样可以轻松找到相应分辨率,检查错误,解决错误。以中间部分不变为例,可以这样绘制 【注意】这样底部会有一小块黑色半透明方块。3.导入要制作的.9 的 png 图片。5.绘制延伸线与内容线(自我理解)上边&左边:要无限延伸的部分。下边&右边:内容区不变的部分。

wax9092的博客 2904

YOLO项目从零开始:超详细运行教程(图文保姆级教学)

至此,我们已经完整跑通了YOLO项目的安装与启动流程,无论你是零基础小白还是刚入门的AI新兵,只要按部就班操作,也能轻松实现目标检测项目的落地。

一键难忘的博客 4797

图神经网络实战(21)——图神经网络的可解释性

在本节中,我们探讨了应用于图神经网络 (Graph Neural Networks, GNN) 的可解释性人工智能 (Explainable Artificial Intelligence, XAI) 技术。可解释性是许多领域的关键要素,可以帮助我们建立更好的模型。我们介绍了不同的局部解释技术,并重点讨论了 GNNExplainer (基于扰动的方法),在图分类任务中应用 GNNExplainer。

盼小辉丶的博客 9484

【Android 工具】Android 点9图片制作及讲解

android 点9图片制作工具: 运行android SDK中tools路径下的draw9patch.bat文件这是我推荐一个别人写的点9图片制作工具:Nine-Patch Editor  先上图: 大家看图就知道怎么用了吧,图片直接拖入。 点九的含义 四角(1,3,6,8):不拉伸 四边(2,4,5,7)分为两种:(2,7)只横向拉伸;(4,5)只竖向拉伸

浩浩 1万+

基于FPGA的FIR数字滤波器设计

clear;close all fc=1/4;fs=5/16; %输入给定指标 Rp=3;As=60;Fs=2; f=[fc,fs];m=[1,0]; %计算remezord函数所需参数f,m,dev dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)]; [N,fo,mo,W]=remezord(f,m,dev,Fs); %确定remez函数所需参数 hn=remez(N,fo,mo,W);...

FPGA/MATLAB学习教程/源码/项目合作开发 9454

android系统工具之 android 9.png 图片制作

android 9.png 图片制作 一、什么是9.png:        可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。 千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会 看不见摸不着(详情见下面具

wangjia55的专栏 1763

华为 MetaERP 总账模块依托 “交易即核算” 的事件驱动架构,与 Oracle EBS 相比,更强调业务事件自动触发财务动作、实时数据同步和智能规则引擎,实现业务与财务的深度融合

华为MetaERP总账模块采用"交易即核算"架构,相比Oracle EBS实现了三大突破:1)业务事件自动触发财务动作,如采购收货自动生成暂估凭证;2)业务财务数据实时同步,支持即时分析;3)内置智能规则引擎,实现自动匹配、核销和结转。该模块覆盖采购、销售、资产、薪酬等全业务场景,支持多维核算和关联交易自动抵消,显著提升核算效率与准确性。其中采购暂估、销售结转等场景实现全自动化处理,较EBS减少80%手工操作。

金牌架构师 222

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

如何制作9.png图片

什么是9.png图片: .9.PNG是安卓开发里面的一种特殊的图片,这种格式的图片通过ADT自带的编辑工具生成,使用九宫格切分的方法,使图片支持在android 环境下的自适应展示。 9.png图片如何优势: (1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展。 (2)允许开发人员定义内容显示区,用于显示文字或其他内容 ...

shaochen2015821426的博客 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android studio 制作.9 图片

前言 昨天在处理 UI 界面微调的时候,再一次用到了 .9 格式图片。我们是 UI 只出 JPG 格式的图, .9 图需要自己做。 因为项目之前已经用到了 .9 图,所以我之前也就大致查了下 .9 图的制作方法,只是大致记住调整四条边就 ok 了。然而昨天自己调的时候忘了四条边的含义,折腾了一会。 所以,虽然很简单,还是要记录一下的。 为什么用.9图片 我们知道一般的图片被拉伸会失真。而我...

qq_33703877的博客 1万+

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Android九宫格图片(9.png)的讲解与制作

刚开始学习Android的时候,会见到res/drawable的几个文件里面有*.9.png格式命名的图片文件。起初以为这只是Android素材的一些特殊命名,其实不是。它是能实现图片素材拉伸、收缩不失真的九宫格图片文件。   详细介绍:9.png文件是Android的一种特殊的PNG图片。他在原始图片四周各添加一个宽度为1像素的线条,这4条先就决定了该图片的缩放规则和内容的显示规则。   如

青春的光与影 1万+

制作9.png图片

一、什么是9.png:         可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。 千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会  看不见摸不着(详情见下面具体内容)。         9.png

u012264122的专栏 1071

Nine-patch图片(.9图)

1 Nine-Patch图片 什么是**.9**图片 图片后缀名前有.9的图片,例如pic.9.png这样的图片 9图的作用 图片拉伸的时候特定区域不会发生图片失真,不失真的区域可以由我们自己绘制。 制作9图的工具 Android SDK自带:draw9patch.bat,在sdk目录下的tools文件夹中 NinePatchEditor,做了一些优化,支持批量操作。 Andr...

zhewen的博客 894

Android 使用.9图片

.9图片的使用时Android开发中经常遇到的问题,主要也是为了图片可以更好的进行屏幕的适配。 制作.9图片可以采取下面两种方式: 1、找到Android SDK包的安装路径,进入tools文件夹,双击打开draw9patch.bat 拉一张图片进去区域就可以进行制作了 2、也可以直接打开Android studio(Android开发工具) 进行编辑有了工具,下面就需要选取一张图片,为了

你就是一道风景 1223

Android中.9.png图片的使用及制作

https://www.jb51.net/article/77482.htm

shark1621的博客 563

解决Android中图片圆角——.9图

目录: 一、问题概述 二、.9图介绍 三、.9图制作   1、开发工具   2、打开图片   3、制作图片   4、保存图片 一、问题概述   在html开发中,可以通过设置css的border-radius来设置圆角,而在android开发中,比较常见的处理圆角的方法是通过.9图来解决 举个例子:   从网上找了一张图片   如果我...

weixin_33749242的博客 233

Android的.9.png图片分析

在Android中我们经常会看到.9.png格式的图片,很奇怪

冰点蓝欣的专栏 968
上一篇: Android 适配(百分比布局 GridView+ListView 项布局适配)
下一篇: Android EventBus的使用
Android_man_me
博客等级 码龄12年 10粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值