给我免费观看片在线百度seo自动优化

web/2025/9/27 14:57:35/文章来源:
给我免费观看片在线,百度seo自动优化,iis 网站目录权限设置,广州市外贸网站建设品牌https://codechina.csdn.net/mirrors/jessyancoding/androidautosize?utm_sourcecsdn_github_accelerator以上是Androidautosize的源码#xff0c;有兴趣的就去下下来搂一眼我这边还没看完#xff0c;就把最基础的看了一下#xff0c;然后顺了下简单的流程#xff0c;顺便…https://codechina.csdn.net/mirrors/jessyancoding/androidautosize?utm_sourcecsdn_github_accelerator以上是Androidautosize的源码有兴趣的就去下下来搂一眼我这边还没看完就把最基础的看了一下然后顺了下简单的流程顺便自己写了写试试来给大家看一眼。Androidautosize用起来很方便基础用法一共两步。第一步在你的项目里面引入Androidautosize像这样implementation me.jessyan:autosize:1.2.1第二步在你的AndroidManifest.xml  文件里面配置一下像这样android:namedesign_width_in_dpandroid:value360/android:namedesign_height_in_dpandroid:value640/然后就完事了。具体细节的使用方法大家可以百度其他文章这里就不在说了。之前也看过介绍这个框架的文章说是用的contentprovider做的但没细看。最近看了看顺便写了写就给大家搂一搂我们知道 ContentProvider 的执行时机非常的靠前靠前到什么程度呢在执行application之前就会执行ContentProvider 所以可以在ContentProvider里面拿AndroidManifest.xml的参数。先看下ContentProvider 的定义像这样public class AutoSizeProvider extends ContentProvider {Overridepublic boolean onCreate() {Context applicationContext getContext().getApplicationContext();AutoSizeConfig.getInstance().init((Application) applicationContext);return true;}NullableOverridepublic Cursor query(NonNull Uri uri, Nullable String[] projection, Nullable String selection, Nullable String[] selectionArgs, Nullable String sortOrder) {return null;}NullableOverridepublic String getType(NonNull Uri uri) {return null;}NullableOverridepublic Uri insert(NonNull Uri uri, Nullable ContentValues values) {return null;}Overridepublic int delete(NonNull Uri uri, Nullable String selection, Nullable String[] selectionArgs) {return 0;}Overridepublic int update(NonNull Uri uri, Nullable ContentValues values, Nullable String selection, Nullable String[] selectionArgs) {return 0;}我们可以看到里面有个oncreate()方法啥意思就不说了大家都懂然后我在这里面执行了两行代码我把其中相关的类给大家贴一下public class AutoSizeConfig {private static AutoSizeConfig sInstance;private String AUTO_SIZE_WIDTH_IN_DP_KEY sky_width_in_dp;//在文件中设置的默认宽度_KEYprivate String AUTO_SIZE_HEIGHT_IN_DP_KEY sky_height_in_dp;//在文件中设置的默认高度_KEYprivate int AUTO_SIZE_WIDTH_IN_DP_VALUE;//在文件中设置的默认宽度private int AUTO_SIZE_HEIGHT_IN_DP_VALUE;//在文件中设置的默认宽度private AutoSizeConfig() {}//单例对象public static AutoSizeConfig getInstance() {if (sInstance null) {synchronized (AutoSizeConfig.class) {if (sInstance null) {sInstance new AutoSizeConfig();}}}return sInstance;}//初始化参数public void init(Application application) {PackageManager packageManager application.getPackageManager();ApplicationInfo applicationInfo null;try {//拿到applicationinfo对象applicationInfo packageManager.getApplicationInfo(application.getPackageName(), PackageManager.GET_META_DATA);Bundle metaData applicationInfo.metaData;//在这里拿AndroidManifest里面的参数AUTO_SIZE_WIDTH_IN_DP_VALUE (int) metaData.get(AUTO_SIZE_WIDTH_IN_DP_KEY);AUTO_SIZE_HEIGHT_IN_DP_VALUE (int) metaData.get(AUTO_SIZE_HEIGHT_IN_DP_KEY);//这个是具体去执行适配方法的类贴在下面了LayoutSizeStrategy layoutSizeStrategy new DefaultLayoutSizeStrategy();//activity生命周期监听当监听到activity执行oncreate或者onstart时去修改系统的density和其他参数Application.ActivityLifecycleCallbacks callbacks new ActivityLifecycleCallbacksImpl(layoutSizeStrategy, application, AUTO_SIZE_WIDTH_IN_DP_VALUE, false);application.registerActivityLifecycleCallbacks(callbacks);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}}}生命周期监听在这public class ActivityLifecycleCallbacksImpl implements Application.ActivityLifecycleCallbacks {private LayoutSizeStrategy mLayoutSizeStrategy;private Application application;private int baseSize;private boolean isBaseOnWidth;public ActivityLifecycleCallbacksImpl(LayoutSizeStrategy mLayoutSizeStrategy, Application application, int baseSize, boolean isBaseOnWidth) {this.mLayoutSizeStrategy mLayoutSizeStrategy;this.application application;this.baseSize baseSize;this.isBaseOnWidth isBaseOnWidth;}Overridepublic void onActivityCreated(NonNull Activity activity, Nullable Bundle savedInstanceState) {Log.d(zhd, onActivityCreated: );if (mLayoutSizeStrategy ! null) {mLayoutSizeStrategy.applyStrategy(activity, application, baseSize, isBaseOnWidth);}}Overridepublic void onActivityStarted(NonNull Activity activity) {Log.d(zhd, onActivityStarted: );if (mLayoutSizeStrategy ! null) {mLayoutSizeStrategy.applyStrategy(activity, application, baseSize, isBaseOnWidth);}}Overridepublic void onActivityResumed(NonNull Activity activity) {}Overridepublic void onActivityPaused(NonNull Activity activity) {}Overridepublic void onActivityStopped(NonNull Activity activity) {}Overridepublic void onActivitySaveInstanceState(NonNull Activity activity, NonNull Bundle outState) {}Overridepublic void onActivityDestroyed(NonNull Activity activity) {}具体的执行适配代码的地方在这public class DefaultLayoutSizeStrategy implements LayoutSizeStrategy {private static float sNoncompatDesity;private static float sNoncompatScaledDensity;//在此执行改变的逻辑Overridepublic void applyStrategy(Activity activity, Application application, int baseSize, boolean isBaseOnWidth) {final DisplayMetrics appDisplayMetrics application.getResources().getDisplayMetrics();if (sNoncompatDesity 0) {sNoncompatDesity appDisplayMetrics.density;sNoncompatScaledDensity appDisplayMetrics.scaledDensity;application.registerComponentCallbacks(new ComponentCallbacks() {Overridepublic void onConfigurationChanged(NonNull Configuration newConfig) {if (newConfig ! null newConfig.fontScale 0) {sNoncompatScaledDensity application.getResources().getDisplayMetrics().scaledDensity;}}Overridepublic void onLowMemory() {}});final float targetDensity;if (isBaseOnWidth) {//以宽为基准targetDensity appDisplayMetrics.widthPixels / baseSize;} else {//以高为基准targetDensity appDisplayMetrics.heightPixels / baseSize;}final float targetScaledDensity targetDensity * (sNoncompatScaledDensity / sNoncompatDesity);final int targetDensityDpi (int) (160 * targetDensity);appDisplayMetrics.density targetDensity;appDisplayMetrics.scaledDensity targetScaledDensity;appDisplayMetrics.densityDpi targetDensityDpi;final DisplayMetrics activityDisplayMetrics activity.getResources().getDisplayMetrics();activityDisplayMetrics.density targetDensity;activityDisplayMetrics.scaledDensity targetScaledDensity;activityDisplayMetrics.densityDpi targetDensityDpi;}}整个框架大体的思路就这些其他的还没看等有空了再看看然后贴出来我们聊一聊。说实话还是看看源码然后自己动手写写有意思。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站的每天打电话咋办佛山百度网站排名优化

2.1 编写代码,移除未排序链表中的重复节点。 不使用临时缓存: 如果不允许使用临时的缓存(即不能使用额外的存储空间),那需要两个指针, 当第一个指针指向某个元素时,第二个指针把该元素后面与它相同的元素删除&#xff…

网站推广和宣传的方法免费公司网站申请

基于matlab的混合方法组合的极限学习机和稀疏表示进行分类。通过将极限学习机(ELM)和稀疏表示(SRC)结合到统一框架中,混合分类器具有快速测试(ELM的优点)的优点,且显示出显着的分类精…

曲靖网站设计公司可信赖的网站建设推广

背景: 假设这么一个情况,你是某公司mysql-DBA,某日突然公司数据库中的所有被人为删了。 尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人。 但是拥有数据库操作权限的人很多&…

泉州网站制作企业wordpress安装中文出现英文

目前最新的代码已经通过Sqlite NHibernate Autofac满足了我们基本的Demo需求. 按照既定的要求,我们的API会提供给众多的客户端使用, 这些客户端可以是各种Web站点, APP, 或者是WinForm, WPF, Silverlight等诸如此类的应用,将来还有可能是各种Iot等物联…

淘宝联盟链接的网站怎么做的丽水网站建设公司排名

专栏地址:『youcans 的 OpenCV 例程 300篇 - 总目录』 【第 7 章:图像复原与重建】 102. 陷波带阻滤波器的传递函数 103. 陷波带阻滤波器消除周期噪声干扰 【youcans 的 OpenCV 例程 300 篇】102. 陷波带阻滤波器的传递函数 通过频率域滤波可以有效分析并…

做寻亲网站的理由建筑网格布

文章目录 概念ByteBuf VS Java NIO BufferByteBuf实现类HeapByteBuf vs DirectByteBufPooledByteBuf vs UnpooledByteBuf其他 ByteBuf的实现机制 概念 ByteBuf是Netty中用于处理二进制数据的缓冲区 Netty的ByteBuf是一个可用于高效存储和操作字节数据的数据结构。与传统的Byt…

凡科网站免费版怎么做定制商品的网站建设

一. 前言UrlFirewall 是一个开源、轻便的对http请求进行过滤的中间件,可使用在webapi或者网关(比如Ocelot),由我本人编写,并且开源在github:https://github.com/stulzq/UrlFirewall 欢迎star.二.UrlFirewall 介绍UrlFi…

tdk标签影响网站权重做网站v赚钱

文章目录 Elasticsearch聚合查询说明空值率查询DSL Elasticsearch聚合基础知识扩展Elasticsearch聚合概念Script 用法Elasticsearch聚合查询语法指标聚合(Metric Aggregations)桶聚合(Bucket Aggregations)矩阵聚合(Ma…

海北网站建设公司做网站需要准备什么资料

要查询和处理慢查询,以及杀死对应的进程,可以按照以下步骤进行操作: 1】查询慢查询: 在 MySQL 中,可以通过设置 slow_query_log 参数来启用慢查询日志,并配置 long_query_time 参数设置查询执行时间的阈值…

高职图书馆网站建设大赛宁波快速建站公司

一、python官网 Python官网主要有python的About (简介)、Downloads (下载)、Documentation(文档)、Community (团体)、Success Stories (成功案例)、News (新闻)、Events (事件动态)等栏目。 Python官网地址:https://www.python.org/ 【领取方式见文末】 二、在…

如何给网站做301跳转wordpress sensei插件

JVM技术周报第2期 JVM技术周报分享JVM技术交流群的讨论内容,由群内成员整理归纳而成。如果你有兴趣入群讨论,请关注「Java技术精选」公众号,通过右下角菜单「入群交流」加我好友,获取入群详情。 1、如何阅读源码? 在我…

网站建设参考文献作者品牌策划方案

我们每天要做的一件事是使用Maven通过发出诸如mvn install之类的构建命令来构建我们的项目。 然后,Maven查看我们项目的配置文件(亲切地称为POM),神奇地找出要执行的操作,并且,嘿,您的构建已完成…

东营企业网站排名优化包装设计公司哪个好

起因 每隔一段时间,都会出现一个新的状态管理框架,最近在YouTube上也发现了有人在推signals, 一个起源于React的状态管理框架,人们总是乐此不疲的发明各种好用或者为了解决特定问题而产生的方案,比如Bloc, 工具会推陈出新&#x…

企业门户网站案例乐都营销型网站建设

图片版的PDF文件,怎么才能借助AI工具来提取其中全部的文字内容呢? 第一步:将PDF文件转换成图片格式 具体方法参见文章:《零代码编程:用kimichat将图片版PDF自动批量分割成多个图片》 第二步:识别图片中的…

好看的网站排版官网定制

先说一下步骤,如下 参考:https://www.cnblogs.com/rickiyang/p/11074203.html 1、安装ssh 直接 sudo apt-get install openssh-server2、查看ssh运行状态 ps -e | grep ssh 如果发现 sshd 和 ssh-agent 即表明 ssh服务基本运行正常3、生成公钥和私钥…

坪地网站建设好么商城网站设计定制

华为云HECS云服务器,安装docker环境,查看如下文章。 华为云HECS安装docker-CSDN博客 一、拉取镜像 docker pull nacos/nacos-server二、宿主机创建挂载目录 执行如下命令: mkdir -p /usr/local/nacos/logs mkdir -p /usr/local/nacos/con…

深圳网站建设方案优化有限公司和股份有限公司的区别

扫描得到的地图数据通常不包含空间参考信息,航片和卫片的位置精度也往往较低,这就需要通过具有较高位置精度的控制点将这些数据匹配到用户指定的地理坐标系中,这个过程称为地理配准。 地理配准即就是通过建立数学函数将栅格数据集(扫描后的图像)中各点的位置与标准空间参…

东莞怎么制作网站如何进行网站分析

引言: 旅游业是一个充满机遇的行业,而虚拟现实(VR)全景技术正逐渐改变着旅游业的面貌,通过提供身临其境的体验,VR全景成为了旅游业的新宠,将旅游带入了一个全新的数字化时代。 一、打破地域限制…

深圳百度网站建设社交app网站开发

本文来自公众号:超级数学建模微信号 :supermodeling原文标题:斐波那契数列趣谈via 善科by BB一般认为斐波那契数列的提出是基于兔子的繁殖问题:如果一开始有一对兔子,它们每月生育一对兔子,小兔在出生后一个…

网站的网站制作精品课程网站建设开题报告

0. 简介 归并排序(Merge Sort)是一种分治思想的应用,它将待排序的数组不断拆分成小数组,直到每个小数组只有一个元素,然后将小数组两两合并,直到最终得到有序的数组。 1. 归并排序的实现 归并排序的基本思…