首页 文章 精选 留言 我的

精选列表

搜索[开发经验],共10012篇文章
优秀的个人博客,低调大师

Android:随笔—— ConstraintLayout 实战经验

这篇文章呢我们谈一谈,约束布局常用的一些需求和坑 一、如果我想让一个控件在父布局里左右填充怎么办(上下填充,上下左右都填充同理) match_parent 方式 <View android:id="@+id/a" android:layout_width="match_parent" android:layout_height="60dp" android:background="@android:color/holo_red_light" /> 相对布局的方式(android:layout_width="0dp" 是关键) <View android:id="@+id/a" android:layout_width="0dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" /> ConstraintLayout 没有 match_parent 所以推荐使用第二种方式,虽然看效果是没啥事,但是官方的坑我表示不踩 image.png 二、替代百分比布局 有时候想把控件按照比例填充父布局,Android 屏幕适配这么复杂,好像不容易实现 这时候约束布局有两个属性 layout_constraintWidth_percent layout_constraintHeight_percent 这岂不是把一直不温不火的百分比布局给革命了 <View android:id="@+id/a" android:layout_width="0dp" android:layout_height="50dp" android:background="@android:color/holo_red_light" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintWidth_percent="0.3" /> image.png 我只放这么一段代码大家应该就知道怎么用了,我也就不多了说了。 默认是居中的如果想调整位置请结合 app:layout_constraintHorizontal_bias="0.3" 食用 三、控件宽度一定,我想左右居中显示怎么办(上下居中同理) <View android:id="@+id/a" android:layout_width="120dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" /> 与左右填充相似,只不过宽度固定了而已,两条绳子拉着一个控件居中 image.png 四、控件宽度一定,左右按百分比显示怎么办,我就是不想居中(上下同理) <View android:id="@+id/a" android:layout_width="120dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" app:layout_constraintHorizontal_bias="0.3" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" /> app:layout_constraintHorizontal_bias="0.3" 一个属性就搞定了 image.png 上下使用 app:layout_constraintVertical_bias 来实现 五、我想两个控件左右平分空间,对没错就是抢 LinearLayout 的饭碗(上下居中同理) <View android:id="@+id/a" android:layout_width="0dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/b" /> <View android:id="@+id/b" android:layout_width="0dp" android:layout_height="60dp" android:background="@android:color/holo_blue_light" app:layout_constraintLeft_toRightOf="@+id/a" app:layout_constraintRight_toRightOf="parent" /> image.png 因为有个约束链的存在所以这个稍微有点复杂,先来一张约束示意图看一下,约束链下边在讲 image.png 六、我想两个控件左右按比例平分空间,平分多没有意思啊(上下同理) <View android:id="@+id/a" android:layout_width="0dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" app:layout_constraintHorizontal_weight="1" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/b" /> <View android:id="@+id/b" android:layout_width="0dp" android:layout_height="60dp" android:background="@android:color/holo_blue_light" app:layout_constraintHorizontal_weight="2" app:layout_constraintLeft_toRightOf="@+id/a" app:layout_constraintRight_toRightOf="parent" /> 上面的例子是 1:2 看写法是不是和 LinearLayout 的权重写法简直一毛一样 上下权重设置 app:layout_constraintVertical_weight="" 一定记得 android:layout_width="0dp" 是 0dp image.png 坑点 宽高在需要自动控制长度的时候一定是设置为 0dp,不然没什么效果,甚至达不到预期,我也推荐约束布局中只是用 0dp 、wrap_content 、固定的值。切记 match_parent 是没啥卵用,虽然看着有效果,但是我也不敢碰,说多了都是泪。 切记只有约束过的边设置 margin 才能看出效果,注意我说的是能看出,虽然设置了 margin 也是有意义的但是看不出来 平时我们摞控件的时候一定记得处理右边和底部的约束,好多人控件显示不全就是这个问题

优秀的个人博客,低调大师

python 模块rtcclient 使用经验分享

作者:精灵云高级工程师 | 陈龙 1前言最近工作需要需要接触RTC(IBM Rational Team Concert),目标是提取RTC 的各种类型的workitems 中的各种信息。网上这类例子很少,个别例子都是java的接口,但是我只是取数据,使用java太复杂了。突然在网上看rtc有python的接口叫做rtcclient。网址:https://pypi.python.org/pypi/rtcclient/0.6.0。研究了几天,踩了很多坑。下面就分享我使用python rtcclient模块的一些心得。 2安装rtcclient。Ps:我使用的linux为Centos7,自带python版本为2.7。2.1安装pip。| yuminstallpython-pip-y如果出现No pachage python-pip available. 这时候需要更新你的扩展包,输入以下命令:| yum-yinstallepel-release这个时候再回去装pip就可以啦。2.2安装rtcclient| pipinstallrtcclient2.3测试import 可以import 表示rtcclient 安装成功了。 3读取RTC中的workitems。3.1连接rtc url 为rtc ccm的uri,如果你使用jazz 的admin用户登录,可以在变更管理的主页看到,如下图: 由于个别jazz的url配置问题,如果以上代码不能成功连接rtc。需要在连接rtc的时候指定ends_with_jazz=False.| myclient=RTCClient(url,user,password,ends_with_jazz=False)3.2获取项目区域所有的workitems| printmyclient.getWorkitems("your project area name")3.3query特定的workitem类型获取的workitem中最长见的就是任务和缺项,见如下代码: dc:type=”task” 就是代表查找类型为“任务”的workitem。那缺陷是什么呢?客户在变更管理的”管理项目区域”配置的“工作项” 区域查看,如下图: 这里可以看到缺陷的标识为defect。所以可以使用dc:type=”defect” 查询。这里需要提的是Return_prop是可选的,但是我强烈建议加上,因为如果不选,rtcclient会去拿workitem所有的属性,这会相当的耗费时间。下面的一章会详细讲解workitem的属性。 4Workitem的属性上面说到dc:type 就是workitem的一个属性,获取特定的workitem后可以使用如下代码直接打印出其值: 那workitem还有其他的什么属性呢,可以用如下代码获得:| printworkitem.field_alias.values()下面是我的一个任务类型的workitem的所有属性: 再次强调,在query workitem的时候,请指定你想要获取的属性,不然以上全部都会获取。如果全部获取,200个workitem的获取时间在1个小时左右。如果只获取单个属性,几秒就可以完成query。

优秀的个人博客,低调大师

openstack 集成vmware 填坑经验

liberty 以后版本不在支持直连esxi,只支持链接vcenter 记得在esxi防火墙上启用vnc 默认vcenter是https,要么配证书,要么在nova.conf 改insecure=true 要么改源码 oslo_vmware/service.py 里面有关于ssl链接的东东注释掉,后两者我试过了都ok 事实上nova-compute只是一个vcenter的代理,只能对应一个集群单独开一个虚拟机是不是很浪费?怎么办?docker化 ] 本文转自 superbigsea 51CTO博客,原文链接:http://blog.51cto.com/superbigsea/1847216

优秀的个人博客,低调大师

Android UI布局经验总结

Android布局分析工具HierarchyView http://www.2cto.com/kf/201404/296960.html 布局优化 http://www.infoq.com/cn/articles/android-optimise-layout Android使用include/merge/ViewStub优化布局 http://www.111cn.net/sj/android/87027.htm List的item布局、Dialog的自定义布局的宽高设置是无效的,要用minXXX来指定宽高。 1. 画UI的原则 能简则简,能用一个控件搞定的事情,不要用多个控件。 能抽则抽,可以抽取复用的属性或布局就抽取. style:抽属性 include:抽布局(如果想让include布局指定位置,就得给include套一个布局) Android主题切换方案总结 http://blog.csdn.net/xingfeng2010/article/details/22854977 2. 资源 在android项目里,资源放在res文件夹下,资源可以是图片、xml等,不同类型的资源放在不同 的文件下,如下图所示 很多人都不知道的东西:values下的dimens.xml,strings.xml,styles.xml,attr.xml文件,其实 名字可以自己定义,而且完全可以写在一个xml文件里,可以发现每个xml的根标签都是resources,只是 为了便于管理和阅读,分成不同的xml文件。 在XML中引用资源 @[android:]anim/ @[android:]drawable/ @[android:]layout/ @[android:]menu/ @[android:]layout/ @[android:]menu/ @[android:]style/ @[android:]string/ @[android:]color/ 如果加上android:表示调用系统的资源,系统本身就带了一些十分常用的、丰富的资源(包括图片 布局、动画等),对于一些demo演示,可以直接调用系统的资源以节省时间。 在代码中引用资源 Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher); InputStream in = getAssets().open("11.txt"); 关于Android 获得图片的总结 http://www.oschina.net/code/snippet_4873_4437 2-1 自定义图形资源(发挥想象) ⑴shape标签:利用这个标签可以绘制基本的图形,如矩形、圆形、环形、直线 案例1:横幅广告切换圆点 1 2 3 4 5 6 7 <?xmlversion= "1.0" encoding= "utf-8" ?> <shapexmlns:android= "http://schemas.android.com/apk/res/android" android:shape= "oval" > <solidandroid:color= "#E34F1B" /> <sizeandroid:width= "6dp" android:height= "6dp" /> </shape> 效果如右图所示 案例2:自定义环形滚动条 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?xmlversion= "1.0" encoding= "utf-8" ?> <!--里面的旋转动画属性可写可不写。--> <rotatexmlns:android= "http://schemas.android.com/apk/res/android" > <shape android:innerRadiusRatio= "3" //内半径比 android:shape= "ring" android:thicknessRatio= "10" android:useLevel= "false" > <gradient android:centerColor= "#E04343" android:endColor= "#33FEDCC4" android:startColor= "#33F0F0F0" android:type= "sweep" /> </shape> </rotate> 效果如右图所示 几个参数需要理解一下: ◆innerRadiusRatio :内半径比 = 圆的内半径 / 控件的宽度,一般取3. ◆thicknessRatio :厚度比 = 圆的厚度/ 控件的宽度 案例3:圆角矩形 经常用来作为背景使用 1 2 3 4 5 6 7 8 9 <? xml version = "1.0" encoding = "utf-8" ?> <!--圆角矩形--> < shape xmlns:android = "http://schemas.android.com/apk/res/android" android:shape = "rectangle" > < solid android:color = "#66968778" /> < corners android:radius = "5dp" /> </ shape > 补充扩展:http://kofi1122.blog.51cto.com/2815761/521605 介绍了shape子标签 3. 状态选择器selector 作用:管理资源(图片、颜色),根据控件所处的状态显示资源。 应用场景:如在textview点击的时候,变换颜色或背景,可以让用户知道有没有点击上。 定义步骤: 1)在res/drawable目录下创建xml文件,选择selector标签。 点击finish,会自动生成如下xml文件: 2)定义item标签,表示不同状态下选择器指向的资源。 ■item既可以指向drawable资源,也可以指向color资源(不能直接写颜色值,要定义在 color标签里,transparent除外)。 ■item的状态有很多,有的是短暂的、临时的状态(如pressed等),有的是永久的状态 (如enabled、selected等)。 ■一个xml文件里可以有多个item,但是默认的item(没有指明状态的)一定要放到最后 (千万记住了) ■xml中各个item的资源可以保持一致,要么都是drawable,要么都是color,也可以即是 drawable又是color,只要绑定这个选择器的属性同时支持图片和颜色,如background。 示例1:指向color资源的选择器 示例2:指向drawable资源的选择器 4. 自定义进度条样式 还是使用系统自带的水平进度条样式 style="@android:style/Widget.ProgressBar.Horizontal" 但是在它的基础上要修改一下它的样式 其实,举一反三,系统任何的组件,都可以自定义它的样式。 Inflate: 1)inflate的parent不为null,view会自动添加到parent中。 final ViewGroup newView = (ViewGroup) LayoutInflater.from(this).inflate( R.layout.list_item_example, mContainerView, false); 本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1682845,如需转载请自行联系原作者

优秀的个人博客,低调大师

OpenStack参考架构的搭建经验

在OpenStack官方11月26日提供的《安装指南》中提到有一个部署模型,大体如下图所示 (图1 OpenStack系统架构图) 图1表现的是每一个节点中所安装的主要组件以及网络接口信息。更精准的展示如图2所示。图中显示的“Internet”网络接口参考图2中对网络接口的解释。 (图2 OpenStack网络架构图) 图2所示,红色属于管理网络,咖啡色属于虚拟机网络,青色是外部网络,蓝色是存储网络。 OpenStack中各种网络的功能 管理网络一般是带有默认网关的可访问Internet的网络,通过此网络完成各个组件的安装以及内部通信,如数据库、消息队列、keystone等API等数据的传输。每一个节点的管理网络是互通的。 虚拟机网络(隧道网络)不带默认网关(通常一个Linux主机,默认网关只能有一个),此网络接口用于计算节点与网络节点的点对点通信,如openswitch中包含的gre、vxlan等通信,所有的计算节点都能通过此网卡与网络节点进行通信。 外部网络是OpenStack平台中的虚拟机与Internet间的通信,此网络接口同样不需要配置网关,虚拟机网卡通过网桥的方式连接到Internet,实际上,此网卡不进行任何IP配置,即不需要配置IP地址、掩码、网关,启动协议设置为none,但要保证此网卡是开机启动的。 存储网络顾名思义传输的是特定格式的存储数据,不具有默认网关,只要保证计算节点与存储节点间互通即可。 (图3 OpenStack最小系统要求) 关于最小配置,我根据自己的实验环境搭建了一套,经过实际测试,是完全可以用的。具体配置如表格1所示。 控制节点 1*2vCPU 2GB内存 1*1Gbps网卡 16GB硬盘 LVM分区 管理网络a 网络节点 1*2vCPU 2GB内存 3*1Gbps网卡 16GB硬盘 LVM分区 管理网络b 隧道网络a 外部网络 计算节点 2*2vCPU 4GB内存 2*1Gbps网卡 40GB硬盘 LVM分区 管理网络c 隧道网络b 表格1 注释:没有配置任何存储节点。 管理网络abc之间互通。 隧道网络ab之间互通。 OpenStack平台中的虚拟机可以ping通路由器网关以及外部网络所有的网关。 操作系统的部分配置可以参见图4。 (图4 OpenStack操作系统配置参考) 注释: 1.主机名称最好与OpenStack中的组件名称区分开来,例如不要用controller这样的主机名称。 2.IP全部设置为静态IP,管理网络和隧道网络具有相同的IP地址的第四段。 3.配置网卡时,全部设置为开机自启动。 4.因为是测试环境,所以为避免麻烦,可以将所有密码设置为一个简单的相同的密码。 5.控制节点上可以选装图形界面以及qemu-img、qemu-kvm、virt-manager等虚拟化包,便于制作OpenStack image。 6.所有的节点都不需要开启防火墙,此版本的安全组功能与防火墙无关,SELinux也可以禁用掉,否则有时需要用chcon、setsebool等进行处理。 7.如果想在VMware虚拟化平台上实现OpenStack(虚拟化中的虚拟化),要至少满足两个先决条件: 1).开启“外部网络”“分布式交换机”、“标准交换机”或在Nexus 1000v命令行中启用“混杂模式”,关于“混杂模式”,可以去Google一下。 2).VMware ESXi主机必须启用虚拟化中的虚拟化(嵌套虚拟化)功能,方法: 编辑ESXi(5.0及以上)中的/etc/vmware/config,添加vhv.allow ="TRUE",然后重启ESXi主机; 编辑ESXi(5.1及以上)中的/etc/vmware/config,添加vhv.enable ="TRUE",然后重启ESXi主机; 另附一张OpenStack流程图,见下图: (图5 OpenStack系统流程图) 注释:图片不清楚的参考附件。 end 本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1585352,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册