Android 原生 SystemUI 下拉通知栏 UI 背景设置为圆角背景的定制

Android 专栏收录该内容
¥59.90 ¥99.00
63篇文章

Android 原生 SystemUI 下拉通知栏 UI 背景设置为圆角背景的定制

在 Android 系统中,下拉通知栏是用户与设备进行交互和获取通知的重要界面之一。默认情况下,Android 的下拉通知栏 UI 背景是矩形的,但如果你想要为其添加圆角背景,本文将向你展示如何进行定制。我们将通过修改 SystemUI 的源代码来实现这一目标。

以下是实现所需功能的步骤:

步骤 1: 设置圆角背景资源

首先,我们需要准备一个自定义的圆角背景资源。你可以在 res/drawable 目录下创建一个 XML 文件,例如 rounded_bg.xml,并添加以下内容:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
Android 10.0 SystemUI定制之通过系统属性控制锁屏页面通知栏显示与隐藏功能实现 在10.0的系统产品开发中,在一些SystemUI的系统定制化开发中,在对锁屏页面的通知栏在某些情况下不需要显示通知栏,所以就需要 在systemui的通知栏布局页面中,通过属性来控制是否在锁屏页面的时候显示通知,具体就分析下systemui然后开发相关功能 阅读详情

相关推荐

Android Framework中SystemUI的启动与定制化

SystemUI的启动由SystemServer负责,开发者可以通过自定义SystemUI的方式对其进行定制化。本文提供了SystemUI启动的源代码示例,并展示了如何使用自定义的SystemUI组件添加新的状态栏通知。通过上述示例,我们可以自定义SystemUI的功能,例如添加新的状态栏通知。开发者可以根据自己的需求修改和扩展SystemUI的功能,以实现更好的用户体验。然后,通过读取SystemUI进程的输出流,可以处理SystemUI进程的输出信息。然后,在SystemUI中使用自定义的。

TechCraze的博客 341

Android 状态栏UI定制化开发系列——自定义SystemUI下拉状态栏

首先,我们创建了一个新的Android项目,并进行了基础布局的设置。然后,通过修改Manifest文件和布局文件,隐藏系统状态栏并添加自定义状态栏。最后,在MainActivity中将自定义状态栏布局添加到容器中,并展示出来。在Android开发中,我们经常需要对系统界面进行定制化,以满足特定需求或提升用户体验。然后,在onWindowFocusChanged()方法中,将自定义状态栏布局添加到"statusBarContainer"中。这样,当Activity获得焦点时,我们就能够看到自定义的状态栏了。

PixelNovaO的博客 720

Android 11.0 12.0SystemUI 下拉状态栏背景增加高斯模糊背景

在11.0 12.0的产品开发中,发现现在很多产品都是高斯模糊背景的,这种高斯模糊背景看起来效果很不错,产品开发需要SystemUI下拉状态栏背景也是高斯模糊背景,所以就要来实现下拉状态栏高斯模糊背景//用需要创建高斯模糊bitmap创建一个空的bitmap// 初始化Renderscript,该类提供了RenderScript context,创建其他RS类之前必须先创建这个类,其控制RenderScript的初始化,资源管理及释放。

安卓兼职framework和app工程师的博客 2830

Android原生SystemUI下拉通知栏UI背景设置为圆角背景的定制

如果你想要将下拉通知栏的UI背景设置为圆角背景,可以按照以下步骤进行定制。在上述代码中,我们首先获取通知栏的背景Drawable对象,然后将其转换为GradientDrawable类型。接下来,我们创建了之前定义的圆角背景样式,并将其设置为通知栏的背景。完成上述修改后,你可以重新构建和运行你的应用程序。当你下拉通知栏时,你会看到通知栏的UI背景已经被设置为圆角背景。需要注意的是,上述步骤仅涉及SystemUI的定制,如果你的应用程序需要更深层次的定制,可能需要修改更多的代码。步骤一:创建圆角背景样式。

TechSavant的博客 282

Android 11.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

在11.0的系统rom定制化开发中,在原生系统中关于SystemUI下拉状态栏的通知栏的每条通知的背景是白色的四角的背景, 由于在产品设计中,需要把四角背景默认改成白色的圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 这就需要了解11.0的systemui的通知流程,设置默认下拉状态栏UI中的通知栏部分每一条通知背景修改为圆角背景

安卓兼职framework和app工程师的博客 1373

Android 9.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

在9.0的系统rom产品定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的通知背景默认是白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通知显示流程,设置默认下拉状态栏UI中的通知栏部分每一条通知背景修改为圆角背景

安卓兼职framework和app工程师的博客 1549

Android 10.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

在10.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的背景是白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后读懂流程,设置默认下拉状态栏UI中的通知栏部分每一条通知背景修改为圆角背景

安卓兼职framework和app工程师的博客 1327

Android 12.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)

在12.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的下拉通知栏的背景默认是白色四角的背景, 由于在产品设计中,在对下拉通知栏通知的背景需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通过systemui的通知栏流程,设置默认下拉状态栏UI中的通知栏部分每一条通知背景修改为圆角背景

安卓兼职framework和app工程师的博客 1894

Android 9.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)

在9.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的背景是默认白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通过熟悉systemui的通知栏流程,设置默认下拉状态栏UI中的通知栏部分每一条通知背景修改为圆角背景

安卓兼职framework和app工程师的博客 1595

Android 11.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)

在11.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的下拉通知栏的背景默认是白色四角的背景, 由于在产品设计中,在对下拉通知栏通知的背景需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通过systemui的通知栏流程,设置默认下拉状态栏UI中的通知栏部分每一条通知背景修改为圆角背景

安卓兼职framework和app工程师的博客 1070

Android 10.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)

在10.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的背景是白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通过熟悉systemui的通知栏流程,设置默认下拉状态栏UI中的通知栏部分每一条通知背景修改为圆角背景

安卓兼职framework和app工程师的博客 692

Android 原生 SystemUI 下拉通知栏界面实现圆角背景的定制

为了提升用户体验和界面美观度,我们可以对下拉通知栏的背景进行定制,使其呈现圆角的外观。通过对布局文件和代码的修改,我们可以轻松地美化系统界面,提升用户体验。首先,我们需要修改 SystemUI 源码中与下拉通知栏相关的布局文件,以及对应的 Java 代码。在整个布局文件的最外层添加一个 LinearLayout,设置背景为圆角,并指定相应的圆角半径。这样,我们就完成了对 Android 原生 SystemUI 下拉通知栏界面的圆角背景设置。该文件定义了下拉通知栏的背景样式,实现了圆角效果。

2301_79331328的博客 515

Android 原生 SystemUI 下拉通知栏界面圆角背景设置的定制

Android 的下拉通知栏是使用 SystemUI 进程来实现的,它是 Android 系统的一部分,负责管理状态栏、通知以及其他与用户界面相关的功能。为了提升用户体验和界面美观度,我们可以定制 SystemUI 的下拉通知栏界面,将其背景设置为圆角背景。本文将详细介绍如何进行这样的定制,并提供相应的源代码示例。需要注意的是,以上示例代码只是为了演示目的,并未完全包括 SystemUI 的所有相关部分。实际进行定制时,可能需要进行更多的调整和适配,以确保正确实现所需的效果。如有任何问题,请随时提问。

2301_79326891的博客 387

Android 原生SystemUI下拉通知栏界面背景设置为圆角背景的定制

如果你想为原生SystemUI下拉通知栏界面添加圆角背景,本文将为你提供一种实现方法。完成上述步骤后,重新编译和部署SystemUI模块,然后运行你的Android设备,你将看到下拉通知栏界面的背景已经变为圆角背景。接下来,我们需要修改SystemUI中的布局文件,以应用自定义的圆角背景。最后,我们需要在SystemUI的代码中加载并设置自定义的圆角背景。找到下拉通知栏的代码文件,一般位于。在该布局文件中,找到表示下拉通知栏背景的View,通常是一个。是上述自定义的圆角背景的资源文件名。

LogicGuruX的博客 327

Android 原生SystemUI下拉通知栏界面设置为圆角背景的定制

默认情况下,下拉通知栏的界面是矩形的,但是有时候我们可能希望将其设置为圆角背景,以增加界面的美观度和一致性。本文将介绍如何在Android原生SystemUI中实现下拉通知栏界面的圆角背景设置,并提供相应的源代码供参考。请注意,上述示例只是演示了如何在Android原生SystemUI中实现下拉通知栏的圆角背景设置的基本思路,实际应用中还需要根据具体需求进行适当的修改和调整。以下是一个简化的示例,展示了如何在SystemUI中设置下拉通知栏的圆角背景。最后,在SystemUI的源代码中找到创建。

2301_79326891的博客 331

Windows下CMake的下载与安装详解

目录一、CMake介绍二、CMake的下载与安装 一、CMake介绍 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。 二、CMake的下载与安装 CMake下载链接:https://cmake.org/download/。 下载最新稳定版即可(Latest Release): 下载完成后,单击“Next”按钮,在下图中勾选“I acce

Wendy的博客 8万+

亿佰特E77模块(STM32WLE5CCU6)LoRa通信实战指南:从配置到应用开发

本文详细介绍了亿佰特E77模块(STM32WLE5CCU6)的LoRa通信实战指南,从硬件配置到应用开发。基于ARM Cortex-M4内核的E77模块集成了LoRa射频前端,具备超低功耗和硬件级抗干扰特性,适用于智能农业、工业现场等场景。文章提供了开发环境搭建、LoRa参数配置、实战通信及性能优化等实用技巧,帮助开发者快速掌握LoRa通信技术。

weixin_29164185的博客 762

手把手教你逆向京东搜索接口:H5ST 556位参数生成与V8补环境技巧

本文深入解析了京东搜索接口中关键的H5ST 556位参数生成机制,并提供了详细的逆向实战指南。针对其复杂的反爬虫环境检测,文章重点介绍了通过链式补环境技巧,在Node.js中完整模拟浏览器环境(包括原型链检测和指纹验证)的方法,帮助开发者成功绕过防护并生成有效参数。

weixin_29315091的博客 483

提升YOLOv8检测精度的边界框损失函数Focaler-IoU与InnerFocalerIoU的应用与效果

YOLOv8是一种常用的实时目标检测模型,基于CNN(卷积神经网络)结构并结合了一些改进技术以提高检测精度和速度。YOLOv8的核心在于边界框的预测和分类,而准确的边界框预测是提高模型整体性能的关键因素之一。在传统的IoU损失基础上,Focaler-IoU和InnerFocalerIoU进一步聚焦于边界框的边缘区域,通过调整损失权重,更好地关注难以检测的边界框,提高模型的鲁棒性和准确性。# 计算IoU# 计算Focaler-IoU损失在这里,我们定义了。

博客 1340

微信小程序、H5微信公众号网页JSAPI:解决报错requestMerchantTransfer:fail:internal error(使用wx.requestMerchantTransfer错误)

如何解决requestMerchantTransfer:fail:internal error,微信小程序wx.requestMerchantTransfer报错,微信公众号H5网页使用jssdk调用wx.requestMerchantTransfer报错,JSAPI调起用户确认收款报错errMsg:“requestMerchantTransfer:fail:internal error“,微信小程序/H5 调起确认收款界面,JSAPI调起用户确认收款,微信公众号(H5),用户发起提现,商家转账给用户,用户

✅ 精选推荐文章 4974

实现边缘实时动物检测:YOLOv5模型优化与树莓派4B部署全攻略

本文介绍了基于高性能计算机训练YOLOv5目标检测模型,并部署到树莓派4B实现实时动物检测的全流程。主要内容包括:1)在高性能计算机上通过Anaconda创建虚拟环境,安装YOLOv5项目并进行模型训练;2)将训练好的best.pt模型迁移到树莓派,配置轻量级Miniconda环境;3)连接树莓派摄像头,运行实时检测程序。该系统兼顾了训练效率和边缘设备部署的实用性,可广泛应用于智慧农业、生态监测等场景。文中详细说明了数据准备、环境配置和部署步骤,为开发轻量级目标检测系统提供了完整参考方案。

m0_64661770的博客 201

块存储:AIO的直接写流程注释

提交io流程中aio_write之前函数的注释,可参考“块存储:AIO的直接读流程注释”。

yiyeguzhou100的专栏 1334

【Python机器学习】零基础掌握RFECV特征选择

通过应用算法,有效地识别了影响购买意愿的关键特征(浏览时长和点击数)和历史货币流通的主要因素(年代、人口和货币流通量)。这样的特征选择不仅提高了模型的解释能力,还可能用于电商推荐系统和历史研究的优化。优点总结,这种方法可以高效地找出对目标变量有最大影响的特征,进而可以用于各种实际应用场景,如电商推荐和历史研究。优点名称对应描述说明高解释性易于理解哪些特征最为重要泛化性能强通过交叉验证提高模型的稳健性应用场景多样可用于电商、金融、历史研究等多个领域。

Mr数据杨 1997

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

深度学习工具包 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 Launcher 抽屉式应用列表排序
下一篇: Android自定义炫酷的ViewPager切换效果
普通网友
博客等级 码龄3年 237粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值