border

Android 自定义圆形图片 CircleImageView

孤街浪徒 提交于 2020-02-12 04:15:28
/*--> */ /*--> */ 1.效果预览 1.1.布局中写自定义圆形图片的路径即可    1.2.然后看一看图片效果    1.3.原图是这样的 @mipmap/ic_launcher    2.使用过程 2.1.CircleImageView源代码  public class CircleImageView extends AppCompatImageView { private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888; private static final int COLORDRAWABLE_DIMENSION = 1; private static final int DEFAULT_BORDER_WIDTH = 0; private static final int DEFAULT_BORDER_COLOR = Color.BLACK; private final RectF mDrawableRect = new RectF(); private final RectF mBorderRect = new RectF();

QSS独门秘籍:subcontrol

我们两清 提交于 2020-02-12 04:08:21
QSS是C++ Qt中的界面美化神器,其语法和CSS区别不大,但是QSS有一个独有的功能——subcontrol,这是CSS所没有的,一个widget往往由多个子部件构成,利用subcontrol可以对窗口部件的某些子部件做精细处理,从而使得界面美化达到定制最大化。 以下内容来源于http://qtdebug.com/QSS-Subcontrol.html http://qtdebug.com/index.html上有很多不错的教程 Subcontrol 的绘制位置由 subcontrol-origin、subcontrol-position, top, left 来指定,就先从这几个属性开始入手。 Subcontrol-Origin subcontrol-origin 定义在 parent widget 中绘制 subcontrol 的参考矩形,默认在 padding 的矩形中绘制。 The origin rectangle of the subcontrol within the parent element. If this property is not specified, the default is padding. subcontrol-origin 有 4 个值可选: margin border padding content 下图展示了 subcontrol

css基础

醉酒当歌 提交于 2020-02-11 22:50:16
css样式由选择符和声明组成,而声明又由属性和值组成。P{color:blue;},选择符指网页中要应用样式规则的元素。属性与值之间 用:分隔,多条声明用;分隔 css中用/*注释语句*/,html用<!—注释语句--> 从CSS样式代码插入的形式来看基本可以分为3种:内联式、嵌入式、外部式。 内联式就是直接把css代码直接写在现有的HTML标签中,即写在style=””双引号中,如果有多条语句可以写在一起,用分号隔开。 嵌入式:把CSS代码写在<style type=”text/css”> </style>标签之间。并且一般情况下嵌入式写在<head></head>之间。 外部式:把css代码写一个单独的外部文件中,文件以“.css”为扩展名,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内,如下面代码:<link href="base.css" rel="stylesheet" type="text/css" /> 注意: 1、css样式文件名称以有意义的英文字母命名,如 main.css。 2、rel="stylesheet" type="text/css" 是固定写法不可修改。 3、<link>标签位置一般写在<head>标签之内。 标签 选择器:就是HTML中的标签,如<html><body><h1><p><img>

水平垂直居中的布局(定宽高和不定宽高)

空扰寡人 提交于 2020-02-11 17:08:35
一、定宽高 1、绝对定位和负margin值: <section class="absolute"> <div></div> </section> <style> section{ display:block; } section.absolute { width: 100px; height: 100px; border: 1px solid #ccc; position: relative; } .absolute div { position: absolute; width: 50px; height: 50px; left: 50%; top: 50%; margin: -25px 0 0 -25px; background-color: yellow; } </style> 2、绝对定位加 transform: <section class="absoluteTransform"> <div></div> </section> <style> section{ display:block; } section.absoluteTransform { width: 100px; height: 100px; border: 1px solid #ccc; position: relative; } .absoluteTransform div { position:

清除浮动

与世无争的帅哥 提交于 2020-02-11 12:50:23
清除浮动是每一个 web前台设计师必须掌握的机能。css清除浮动大全,共8种方法。 浮动会使当前标签产生向上浮的效果,同时会影响到前后标签、父级标签的位置及 width height 属性。而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了。解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问题。 下面总结8种清除浮动的方法(测试已通过 ie chrome firefox opera,后面三种方法只做了解就可以了): 1,父级div定义 height 复制代码 代码如下: <style type="text/css"> .div1{background:#000080;border:1px solid red;/*解决代码*/height:200px;} .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px} .left{float:left;width:20%;height:200px;background:#DDD} .right{float:right;width:30%;height:80px;background:#DDD} </style> <div class="div1"> <div class="left">Left</div>

Polo360页面制作练习

陌路散爱 提交于 2020-02-11 08:36:40
㈠Polo360index.html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>polo 360</title> <!--引入reset.css用来清除浏览器的默认样式--> <link rel="stylesheet" href="reset.css"> <!--引入page-index--> <link rel="stylesheet" href="page-index.css"> </head> <body> <!--创建头部div header--> <!--header开始--> <div class="header w"> <!--创建一个导航条--> <ul class="nav"> <li> <a href="#">HOME</a> <p>Back to home</p> </li> <li> <a href="#">PRODUCTS</a> <p>What we have for you</p> </li> <li> <a href="#">SERVICES</a> <p>Things we do</p> </li> <li> <a href="#">BLOG</a> <p>Follow our updates</p> </li> <li> <a href="#"

字符串总结

守給你的承諾、 提交于 2020-02-10 23:40:27
今天听dy大神讲字符串 一些知识点: 1.border:称一个串的border为满足[i+k-1,j][i,j-k+1]的k。 2.period:对于一个 \(1<=p<=|S|\) ,若满足 \(\forall i\in [1,|S|-p],S[i]=S[i+p]\) ,则称p为S的一个period。 3.border和period的关系:x是S的border则|S|-x是S的period。 4.弱周期定理:对于一个字符串的周期x,y,若x+y<=|S|,那么gcd(x,y)也是S的周期。 5.本原平方串的个数是 \(nlogn\) 级别的 6.后缀树:一开始讲了些,点数优化在于可知叶子最多只有n个,所以分叉很少,把只有一个出边的压成字符串,类似虚树。 7.brouvka算法:听说是很古老的生成树算法,每次找到点集向外连接的最大/小边加入生成树,然后合并成为一个点集继续处理,每次大小至少翻倍,复杂度 \(nlogn\) 。这样做不用预先计算代价。 8.对EXSAM上的所有前缀节点暴力不重复跳fail更新信息,复杂度是 \(n\sqrt n\) 。单独考虑每种字符的贡献计算复杂度。 例题: A.求所有子串的最大border和 数据随机,border长度的期望是log的,所以可以暴力枚举T,看T作为多少串的border 但是会算重,考虑容斥 看一晚上回放,有很多知识点也是我陌生的

清除浮动的方法以及优缺点

徘徊边缘 提交于 2020-02-10 17:33:16
为什么清除CSS浮动这么难? 因为浮动会使当前标签产生向上浮的效果,同时会影响到前后标签、父级标签的位置及 width height 属性。 而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了。 解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问题。 我根据自己的经验总结8种清除浮动的方法(测试已通过 ie chrome firefox opera,后面三种方法只做了解就可以了): 1、父级div定义height <style type="text/css"> .div1{background:#000080;border:1px solid red;/*解决代码*/height:200px;} .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px} .left{float:left;width:20%;height:200px;background:#DDD} .right{float:right;width:30%;height:80px;background:#DDD} </style> <div class="div1"> <div class="left">Left</div> <div class="right">Right</div>

【LuoguP4482】[BJWC2018]Border 的四种求法

五迷三道 提交于 2020-02-09 10:08:01
题目链接 题意 区间 boder \(n,q\leq 2*10^5\) Sol (暴力哈希/SA可以水过) 字符串区间询问问题,考虑用 \(SAM\) 解决。 boder相当于是询问区间 \([l,r]\) 内满足 \(lcs(i,r)>=i-l+1\) 的最大的 \(i\) 那么首先可以得到一个暴力做法,我们定位 \([1,r]\) 这个串的节点,那么相当于要询问的就是它的祖先。每一个点可以直接把它的 \(len\) 值视为 \(lcs(i,r)\) 。这样的话用线段树合并维护出endpos后一个个往上跳就可以用线段树进行询问了,每次找到 \([l,min(l+len-1,r-1)]\) 里的最大的 \(endpos\) 用来更新答案。 就像 \(boder\) 不具有可二分性一样,上面的做法也没有什么优化空间。 这样我们肯定是从离线询问简化查询入手。 我们不能一个个跳 \(parent\) 树那样复杂度必然不对。 考虑到对于一个询问 \([l,r]\) 我们要用的其实是祖先节点的 \(endpos\) 中 \(i-len+1<=l\) 的且在询问区间内的部分。 于是我们想可不可以把祖先的 \(endpos\) 丢在一起查询从而避免一个个往上跳。 方法自然是有的,首先我们发现和询问同一个子树的 \(endpos\) 是没有用的,因为这个 \(endpos\) 在下面一定不会更差。

luogu P4482 [BJWC2018] Border 的四种求法 - 后缀数组

橙三吉。 提交于 2020-02-09 10:07:33
/*--> */ /*--> */ 题目传送门    传送门 题目大意   区间border。   照着金策讲稿做。 Code 1 /** 2 * luogu 3 * Problem#P4482 4 * Accepted 5 * Time: 8264ms 6 * Memory: 37924k 7 */ 8 #include <bits/stdc++.h> 9 using namespace std; 10 typedef bool boolean; 11 12 template <typename T> 13 void pfill(T* pst, const T* ped, T val) { 14 for ( ; pst != ped; *(pst++) = val); 15 } 16 17 const int N = 2e5 + 5; 18 const int bzmax = 19; 19 const signed int inf = (signed) (~0u >> 2); 20 21 typedef class SparseTable { 22 public: 23 int n; 24 int *ar; 25 int log2[N]; 26 int f[N][bzmax]; 27 28 SparseTable() { } 29 30 void init(int n, int*