-
2021-04-18 01:48:50
男Réπ總遈一见钟情,囡人总遈ー彳主情深。(QQ个性签名分类:非主流)
把校裤穿反过的同学自觉点↓(QQ个性签名分类:搞笑)
祢写得真好,我太愛你了!(QQ个性签名分类:非主流)
祝我所有悳朋友辻一快乐!(QQ个性签名分类:非主流)
至Réπ无己,鰰Réπ無功,聖人无名。(QQ个性签名分类:非主流)
男生和女生吵架的主要原因是男生欠虐,女生不爽。(QQ个性签名分类:搞笑)
有时候与姐妹撞衫也是一件幸福的事。(QQ个性签名分类:姐妹)
分了对象省了流量(QQ个性签名分类:分手)
我爱的那么忐忑,伤的那么透彻。(QQ个性签名分类:伤感,分手)
艳艳: [我愿意将你的存在公众于世] (原创)(QQ个性签名分类:幸福,个性)
時間不會爲你停下腳步生命還在繼續地球還在轉(QQ个性签名分类:繁体)
别人嘴里无数个我 亲爱的 你最钟意哪一个(QQ个性签名分类:那些年)
你喜欢的人问你喜欢谁你该怎么回答(QQ个性签名分类:暗恋)
.有些课就像南孚电池,一节更比六节长(QQ个性签名分类:校园)
“男神!快说你喜欢我!”“你喜欢我。”“......”(QQ个性签名分类:个性)
每个人都爱kimi天天。但却忘了有个不服输的小石头(QQ个性签名分类:犀利)
“你喜欢我扎着马尾还是披发”“我不喜欢你”(QQ个性签名分类:伤感)
太喜欢一个人总是没办法轻易的控制自己的情绪(QQ个性签名分类:伤感)
今忝遈我最开心的ー天(QQ个性签名分类:非主流)
習慣了壹個人的生活,就不再喜歡二個人的世界(QQ个性签名分类:繁体)
我知道你不爱我(QQ个性签名分类:难过)
我们痛苦来氵原于愛,但我们悳幸鍢竾来源于愛。(QQ个性签名分类:非主流)
屋漏偏逢連亱雨,船迟又鰅打頭風。(QQ个性签名分类:非主流)
今天去大山游了一圈好爽啊!!(QQ个性签名分类:搞笑)
\/木马\/木马\/木马\/木馬\/木馬(QQ个性签名分类:非主流)
无論眚活还是爱情,往往筅宥珍惜才宥倖運。(QQ个性签名分类:非主流)
- 过客已经够多了,下一个可不可以一辈子!(QQ个性签名分类:伤感,爱情,个性)
╰'你懂我的寂寞,懂我想要的温暖。(QQ个性签名分类:爱情)
在不必要的时间段我知道我该远离你的视线。(QQ个性签名分类:伤感)
如果能实现,何必许愿。(QQ个性签名分类:哲理)
不是我小气、花父母的钱、我有什么资格大方。(QQ个性签名分类:霸气)
千里送鹅毛,礼轻病不轻。——李宫俊(原创)(QQ个性签名分类:搞笑)
除了梦里我们再也见不到了(QQ个性签名分类:心情)
我们分手了 他接着勾搭个小妮 还告诉我他爱我 呵呵(QQ个性签名分类:分手)
手愿意捐给你拓着头 做你的安枕刚好足够(QQ个性签名分类:歌词)
不要说对不起,因为你已经出局!(QQ个性签名分类:霸气)
心变了怎么会不明显(QQ个性签名分类:伤感)
道歉该在第一时间你留着你的假惺惺自己折腾去吧。(QQ个性签名分类:霸气)
我想听你爱我,(QQ个性签名分类:难过)
你傻啊!竟然会对这种Réπ谈感情@豬头(QQ个性签名分类:非主流)
我姒后不赌瞭。呲諒我一次吧(QQ个性签名分类:非主流)
上天在賜予我們青春的同時也賜予了我們青春痘...(QQ个性签名分类:繁体)
更多相关内容 -
【原创】QQ个性标签实现
2021-06-04 03:02:09一、QQ效果与最终效果比较qq_5.pngqq_6.png二、分析从效果大致可以看出两个规律:字体的矩形面积越来越小字体大小越来越小很像废话吧,不是的。除了字体,我们还能看到文字有竖向排行有横向排列,而且没有规律。2.1 ...一、QQ效果与最终效果比较
qq_5.png
qq_6.png
二、分析
从效果大致可以看出两个规律:
字体的矩形面积越来越小
字体大小越来越小
很像废话吧,不是的。除了字体,我们还能看到文字有竖向排行有横向排列,而且没有规律。
2.1 问题分解
假设我们只有一个标签文字,可以选择自定义View(当然可以选择自定义ViewGroup),然后随机标签文字的left和top,文字大小从30sp开始,然后在onDraw里面绘制矩形,在矩形里面绘制文字。
绘制第一个标签文字之后,我们想绘制第二个标签文字,如果我们还在当前的View里面去随机一个Rect,可能会和第一个标签重合,那怎么办?我们想到了裁剪,看下图:
qq_1.png
沿着标签我们可以将View切成Rect①、Rect②、Rect③、Rect④,这个时候我们分别将四块矩形看成新的View去绘制一个标签文字。
这样大问题就化解成了许许多多的小问题。
2.2 如果Rect宽大于高
如果标签文字的高度大于Rect的高度,我们可以递减标签文字的TextSize,一直到标签文字的高度小于Rect的高度,我们直接从Rect的Left开始绘制标签就可以,看图:
qq_2.png
第一个标签绘制完成之后,继续在这个标签的右边重复绘制第一个标签大小的标签,一直到Rect剩余的空间不足以绘制一个当前的大小的标签。
如果文字的宽度大于Rect的宽度,同样的我们也递减标签文字的TextSize,一直到标签文字的宽度小于Rect的宽度,我们直接从Rect的Top开始绘制标签就可以,看图:
qq_3.png
第一个标签绘制完成之后,继续在这个标签的下边重复绘制第一个标签大小的标签,一直到Rect剩余的空间不足以绘制一个当前的大小的标签。
如果以上都不满足,说明标签的宽高都远小于Rect的宽高,那就变成了我们最开始的大问题,随机标签文字的left和top,再切四个Rect出来,重复以上步骤。
2.3 如果Rect高大于宽
Rect高大于宽,标签适合竖向排列,竖向排列考虑起来比较简单,不需要随机一个位置开始竖向,就从Rect的Left开始排列,看起来整齐,看图:
qq_4.png
第一个标签绘制完成之后,继续在标签的右边重复绘制第一个标签大小的标签,一直到Rect右边剩余的空间不足以绘制一个当前的大小的标签,然后将剩下的空间切成Rect①和Rect②,重复以上步骤。
三、核心代码
3.1 定义Tag对象
public class Tag {
private String name;
private int left;
private int top;
private int right;
private int bottom;
private int textsize;
// 省略构造函数和setter getter
}
这个class的作用类似记录器,记录每一个Tag的位置和文字大小信息。
3.2 核心函数
public void computeSingleRect(List tags, int textSize, int pLeft, int pTop, int pRight, int pBottom) {
if (tags == null || tags.size() == 0 || textSize < MIN_TEXT_SIZE || pBottom == 0 || pRight == 0 || pLeft >= pRight || pTop >= pBottom) {
return;
}
int cLeft = 0;
int cTop = 0;
int cRight = 0;
int cBottom = 0;
int textWidth = 0;
int textHeight = 0;
int size = tags.size();
int index = (int) (Math.random() * (size - 1));
String name = tags.get(index);
//计算当前rect的宽高
int rectWidth = pRight - pLeft;
int rectHeight = pBottom - pTop;
if (rectWidth > rectHeight) {
//父布局长大于高,横向布局合适
paint.setTextSize(textSize);
textWidth = (int) paint.measureText(name);
textHeight = (int) (paint.getFontMetrics().bottom - paint.getFontMetrics().top);
if (textHeight > rectHeight) {
//记录之前的textsize
int beforeTextSize = textSize;
while (textHeight > rectHeight) {
textSize--;
paint.setTextSize(textSize);
textHeight = (int) (paint.getFontMetrics().bottom - paint.getFontMetrics().top);
}
textWidth = (int) paint.measureText(name);
while (textWidth > rectWidth) {
textSize--;
paint.setTextSize(textSize);
textWidth = (int) paint.measureText(name);
}
if(textSize < MIN_TEXT_SIZE){
return;
}
textHeight = (int) (paint.getFontMetrics().bottom - paint.getFontMetrics().top);
cLeft = pLeft;
cTop = pTop;
cRight = textWidth + pLeft;
cBottom = textHeight + pTop;
showTags.add(new Tag(name, textSize, cLeft, cTop, cRight, cBottom));
textWidth = (int) paint.measureText(name);
if (pRight - cRight > textWidth) {
//右
computeSingleRect(tags, beforeTextSize, cRight, pTop, pRight, pBottom);
} else {
//右
computeSingleRect(tags, --textSize, cRight, pTop, pRight, pBottom);
}
} else {
if (textWidth >= rectWidth) {
while (textWidth > rectWidth) {
textSize--;
paint.setTextSize(textSize);
textWidth = (int) paint.measureText(name);
}
if(textSize < MIN_TEXT_SIZE){
return;
}
textHeight = (int) (paint.getFontMetrics().bottom - paint.getFontMetrics().top);
cLeft = pLeft;
cTop = pTop;
cRight = pRight;
cBottom = cTop + textHeight;
showTags.add(new Tag(name, textSize, cLeft, cTop, cRight, cBottom));
//下
textSize += 4;
computeSingleRect(tags, textSize, cLeft, cBottom, cRight, pBottom);
} else {
cLeft = (int) (Math.random() * (rectWidth / 3)) + pLeft; // 除以3是为了尽快找到合适的位置
while (cLeft + textWidth > pRight) {
cLeft--;
}
cTop = (int) (Math.random() * (rectHeight / 2)) + pTop;
while (cTop + textHeight > pBottom) {
cTop--;
}
cRight = cLeft + textWidth;
cBottom = cTop + textHeight;
showTags.add(new Tag(name, textSize, cLeft, cTop, cRight, cBottom));
//左
computeSingleRect(tags, --textSize, pLeft, pTop, cLeft, cBottom);
//上
computeSingleRect(tags, --textSize, cLeft, pTop, pRight, cTop);
//右
computeSingleRect(tags, --textSize, cRight, cTop, pRight, pBottom);
//下
computeSingleRect(tags, --textSize, pLeft, cBottom, cRight, pBottom);
}
}
} else {
//父布局高大于长,纵向布局合适
int beforeTextSize = textSize;
paint.setTextSize(textSize);
textHeight = (int) (paint.getFontMetrics().bottom - paint.getFontMetrics().top);
while (textHeight * name.length() > rectHeight) {
textSize--;
paint.setTextSize(textSize);
textHeight = (int) (paint.getFontMetrics().bottom - paint.getFontMetrics().top);
}
if(textSize < MIN_TEXT_SIZE){
return;
}
textWidth = (int) (paint.measureText(name) / name.length());
int length = name.length();
if (pLeft + textWidth > pRight) {
//右 右边空间不足
computeSingleRect(tags, --textSize, pLeft, pTop, pRight, pBottom);
return;
}
for (int i = 0; i < length; i++) {
cLeft = pLeft;
cTop = pTop + i * textHeight;
cRight = cLeft + textWidth;
cBottom = cTop + textHeight;
showTags.add(new Tag(String.valueOf(name.charAt(i)), textSize, cLeft, cTop, cRight, cBottom));
}
if (pRight - cRight > textWidth) {
//右
computeSingleRect(tags, beforeTextSize, cRight, pTop, pRight, cBottom);
//下
computeSingleRect(tags, --textSize, pLeft, cBottom, pRight, pBottom);
} else {
//右
computeSingleRect(tags, --textSize, cRight, pTop, pRight, cBottom);
//下
computeSingleRect(tags, --textSize, pLeft, cBottom, pRight, pBottom);
}
}
}
很清楚的看到,是一个递归函数,一开始就是递归的结束条件。注意里面的切割Rect的方法,pLeft、pTop、pRight、pBottom代表父Rect的边界,cLeft、cTop、cRight、cBottom代表Tag的边界。里面有一个很巧妙的记录进入条件时候的TextSize,目的是让下一次递归还继续进入这个条件下,也就做到了重复绘制相同大小的Tag的目的。
但是在textWidth >= rectWidth这个条件下记录TextSize却容易造成最后一个Tag绘制不出来,导致留白区域大,有一点瑕疵,但是整体目的达到了。
附上Github地址,喜欢的给个Star,谢谢。
-
Js 实现类似qq个性标签的功能
2017-09-06 09:33:18html> html lang="en"> head> meta charset="UTF-8"> title>classNametitle> style> *{ margin: 0; padding: 0; } ul{ width: 400px;<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>className</title> <style> *{ margin: 0; padding: 0; } ul{ width: 400px; height: 400px; border:1px solid #999; } ul li{ list-style: none; width: 80px; height: 40px; line-height: 40px; text-align: center; border: 1px solid #999; margin: 10px; float: left; } span{ padding-left: 6px; } </style> <script> window.onload=function(){ var ul=document.getElementsByTagName("ul")[0]; var btns=document.getElementsByTagName("button"); for(var i=0;i<btns.length;i++){ btns[i].onclick=function(){ var hasLi=false; var nli=document.createElement("li"); nli.innerHTML=this.innerHTML+"<span>✖</span>"; var type=this.getAttribute("data-type"); console.log(type); nli.setAttribute("data-type",type); var ali=ul.getElementsByTagName("li"); for(var i=0;i<ali.length;i++){ if(ali[i].getAttribute("data-type")==this.getAttribute("data-type")){ hasLi=true; break; }else{ hasLi=false; } } if(hasLi==false){ ul.append(nli); var span=nli.getElementsByTagName("span")[0]; span.onclick=function(){ ul.removeChild(this.parentNode); } } } } } </script> </head> <body> <ul> </ul> <div> <button data-type="yw">语文</button> <button data-type="sx">数学</button> <button data-type="yy">英语</button> <button data-type="zz">政治</button> <button data-type="ls">历史</button> <button data-type="dl">地理</button> <button data-type="ty">体育</button> </div> </body> </html>
-
Android-仿QQ个人标签墙云标签墙
2019-08-13 05:08:40仿QQ个人标签墙,云标签墙 -
可爱简单的个性签名 qq标签大全
2021-04-28 06:10:161、在你眼里,我总是不够好,原来,你只是不爱我。2、没有你,再美的风景也失去了意义。3、那些给我泼了冷水的人,我要把它煮开,总有一天会还给你。4、它可以携带,放下,计算,完成,破碎,撇去。...1、在你眼里,我总是不够好,原来,你只是不爱我。
2、没有你,再美的风景也失去了意义。
3、那些给我泼了冷水的人,我要把它煮开,总有一天会还给你。
4、它可以携带,放下,计算,完成,破碎,撇去。
5、有些情不自禁的悲伤,我们总是慢慢的学会了隐藏。
6、左手握着幸福,右手握着回忆,鲜花不败。
7、如果阅读不与实践相结合,知识就只是天空中飘浮的云。
8、如果我们不去爱,我们就不会说谎,路是漫长的。
9、知识的价值不在于拥有,而在于使用。
10、时间是伟大的作家,她能写出未来的结局。
11、困扰你的不是某人,而是你说的话或做的事。
12、不要想,那么迷茫;不要问,所以没有;不要问,不要知道。
13、当你想念你所爱的人时,时间过得尤其慢。
14、如果你找不到对的人,你就不能做你自己。
15、当有人在你面前说别人的坏话时,你只是微笑。
16、我们都在这腐朽而又发臭的青春里挣扎,终是在劫难逃。
17、像蚂蚁一样工作,像蝴蝶一样生活。
18、别告诉我你很善良,你无事可做。
19、想你的夜里静静的,让泪流个不停。
20、人生就像坐过山车,突然慢了下来,突然毫无准备。
21、谁有千难万险的意志,谁就能达到任何目的。
22、真正的幸福和快乐,不是来自物质,而是来自心灵。
23、到下一个十字路口后,就是转弯的起点。
24、青春毕竟是幸福的,因为它有未来。
25、无话可说的人并不总是明智或勇敢的。
26、不要让过去的悲催,或未来的忧虑,毁掉当下的快乐。
27、即使你得不到你想要的,你仍然是我一生的梦想。
28、你带走了我的微笑,却给了我你甜蜜的微笑。
29、有些事情想解释,时间长了,想解释却解释不了。
30、我讨厌我在乎的人对别人好。没有理由。我只是讨厌它。
31、不抽烟不喝酒的人是自私的,一辈子都不值得信任。
32、有时候,只要一粒灰尘飞进眼睛,世界就消失了。
33、承诺就像放屁,说时惊天动地,说后苍白无力。
34、如果你过早的放弃,你永远不会知道你错过了什么。
35、对你,我已经无条件的投降了,你签下了爱的契约。
36、微笑拥抱每一天,做一个像向日葵一样温暖的女人。
-
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2020-11-22 15:13:38本文实例讲述了JS+CSS实现类似QQ好友及黑名单效果的树型菜单。分享给大家供大家参考。具体如下: 今天介绍的这个菜单堪称极品啊,不过里面的有些图标丢失了,路径还留在那,真想使用的朋友自己制作两个折叠菜单的... -
常用CSS3标签及个性效果
2018-11-19 10:12:451、圆角 -
安卓创建个性标签
2015-05-29 17:30:20安卓创建个性标签 -
js 个性标签图片生成
2021-09-15 08:55:41效果图 下载 链接: https://pan.baidu.com/s/1eN9Q6o-wDvtpprozbV7MPg 提取码: hpvk 复制这段内容后打开百度网盘手机App,操作更方便哦 -
仿QQ个人资料页气泡标签展示
2021-04-05 16:06:54作者AlphaBoom,源码QQPresentation,目标效果查看:打开QQ->点击个人头像->点击个性名片->选择一个名片->选择效果二。 分析效果 进入界面正常展示界面(中间头像,背景图片) 下滑界面依次进行以下动画: 整体高度... -
程序员的qq个性签名
2021-04-25 00:20:50(QQ个性签名分类:伤感)駺珩千裡吃禸,犭句珩韆里吃屎(QQ个性签名分类:非主流)一个人的生活是这样过两个人也一样多个还不如少个(QQ个性签名分类:伤感)-隻葽能和你辵下魼,我會狠快樂。(QQ个性签名分类:非主流)... -
个性化标签推荐研究
2014-06-04 21:01:06社会标注系统中对标签的个性话推荐,本文主要是分析统计了当前的研究状况,对研究现况的分析统计,并构建个性化标签推荐系统 -
测试-----QQ发送图片失败的原因有哪些
2019-05-01 22:00:52测试用例--QQ发送图片失败 1.使用QQ发送和接收图片太过频繁,往往会导致QQ图片文件夹东西太多,就会出现不能发送图片的情况。 2.网速不好,弱网,或者没有连接网络 3.被对方拉入黑名单 4.对方QQ版本不支持接收图片 5... -
js标签球,使用javascript制作的纯脚本效果
2011-10-16 18:01:20使用JS脚本技术制作的标签球,效果和FLASH的差不多了。 -
android app开发之仿qq个人标签,自动换行的布局
2016-10-21 14:45:36作者忘记了,在这里记录下一个比较好用的一个自定义的流式布局。 public class FlowLayout extends ViewGroup { private float mVerticalSpacing; //每个item纵向间距 private float mHorizontalSpacing;... -
Java根据标签设置用户个性化菜单
2017-12-15 15:54:35为了实现对用户的精准推送,我们决定将通过代码设置用户显示个性化的菜单,用户一关注我们的公总号,我们就会给用户打一个新用户的标签,然后我们可以设置相应的筛选条件来筛选出相应的用户群体,然后我们可以将这... -
深入浅出matplotlib(35):设置坐标轴个性化显示标签
2020-12-21 17:41:00首先来解决第一个问题,就是怎么样个性地显示刻度上的标签。如果你学习前面的文章,会发现弧度显示的代码,就是一种个性化显示,当时没有深入地去解释,现在才有机会来说明这个问题。我们知道坐标轴上. -
一个基于Flask框架做的仿QQ邮箱系统(收发邮件、贝叶斯模型训练、垃圾邮件过滤、个性化标签)
2021-05-05 15:24:26一个基于Flask框架做的仿QQ邮箱系统(收发## 标题邮件、贝叶斯模型训练、垃圾邮件过滤、个性化标签) 1、贝叶斯邮件垃圾邮件分类 对上千封邮件进行贝叶斯模型分类训练,对基本邮件实现垃圾分类效果。 2、仿QQ邮箱... -
高仿腾讯QQ的IM软件Bmob-sdk-qq.zip
2019-07-19 02:01:15- 支持个人中心的资料管理,用户可以自定义昵称,用户图像,个性签名等内容,这些内容都采取云端存储 - 基于百度地图的LBS功能,可以查看附近的人,快速搭讪UI截图(本来打算上传一个gif动态图的,但是CSDN好像不... -
jquery.qqFace.js 页面标签/jquery
2013-09-03 20:50:56// QQ表情插件 (function($){ $.fn.qqFace = function(options){ var defaults = { id : 'facebox', path : 'face/', assign : 'content', tip : '' }; var option = $.extend(defaults, options); var assign = $... -
手机QQ2013(2013qq最新版本官方下载) for iPhone v4.5.0.146.zip
2019-07-12 11:54:14通过高清照片墙、访问次数、签名、多种名片背景、个性标签等细节,帮用户Show出精彩。 手机QQ2013 v4.5 iPhone 官方版更新: - 阅读中心,你的移动书房 - 闪照,给好友发送限时查看的照片 - 全新签名,... -
Valine-1.4.4新版本尝鲜+个性制定(表情包、qq头像、UI样式)
2020-04-16 13:22:03文章目录一、前言二、尝鲜 一、前言 大晚上又魔改评论系统了, 2020年4月16日01:56:39把新版本的自定义图片改出来了,...A新增图片表情 --》算是优化了1.3.10中的表情,个性表情需自改,我在后文中给出方法 A 新增... -
自写与收集的一些免费的API接口(获取QQ昵称、头像、QQ秀等等...)
2021-04-04 08:30:021、获取QQ头像http://q2.qlogo.cn/headimg_dl?dst_uin=QQ号码&spec=100100 是尺寸,具体可以参考下表还有其他尺寸为,40 x 40、100 x100、140 x140、640 x 640QQ高清头像http://q.qlogo.cn/headimg_dl?dst_uin=QQ... -
腾讯QQ2013 sp2
2019-11-05 05:32:49免费的即时聊天软件,给上网带来更多沟通乐趣。腾讯QQ2013年度皮肤呈现视觉盛宴,皮肤编辑器实现个性化面板创意;...QQ支持自定义标签,标签顺序随心换。提示:如果您正在运行着腾讯QQ或者TM ,请退出后再进行一键安装。 -
个性qq签名
2006-05-09 22:46:001:水能载舟,亦能煮粥!2:狼爱上羊.并不荒唐. 它们抛开世俗的城墙. 狼爱上羊. 爱的疯狂....对有夫之妇,我从未放弃;对十六岁以上女孩,我注意发掘;对小于十六的,要有战略性眼光4:佛曰,色即是空,空即是色。... -
qq话题怎么引流?QQ空间说说引流技巧,QQ引流有什么好方法?
2020-10-23 19:52:06QQ 空间说说也是QQ 空间引流的主力军,也是分享转载的重点所在,同样,说说也是 QQ 空间活力所在。尽管日志也会以说说的形式散发出去,但也要有自己单独的说说。说说经常会被转发,转发说说会形成自传播,越来越多的... -
精软QQ群批量资料修改软件 v2.1免费版.rar
2019-07-15 21:30:50精软QQ群批量资料修改软件可以...5:个性智能化:支持不同的群号修不同的内容,也可以修同样的内容, 真正实现批量自动化, 6:支持UU,超人打码 注:只有软件可以添加的,自己手动是添加不了的 精软QQ群批量资料修改软件截图 -
Java 实现QQ界面聊天小项目,可在线聊天!
2021-09-14 22:26:041.修改功能(密码、昵称、个性签名) 2.添加好友、删除好友 3.单聊功能 4.判断好友是否在线 2.模块划分 3.使用的知识 netty swing 集合等同步阻塞队列synchronousQueue 数据库MyS... -
QQ for Linux
2021-05-13 15:14:59QQ for linux是腾讯全新推出的QQ,是一款基本linux平台的即时通讯通讯...色彩丰富的界面在Linux平台率先支持更换软件的色调和底纹,配套用户不同的Linux版本,体现不同的个性和风格。2.管理多个会话窗口用户可以用... -
QQLinux版本下载-QQ最新版本下载v2.0.0
2021-05-11 07:31:19linux版QQ是2019年十月二十四日新推出的QQ版本,新版本的推出优化了当中存在的很多问题,快来下载新版本试试!功能介绍色彩丰富的界面在Linux平台率先支持更换软件的色调和底纹,配套用户不同的Linux版本,体现不同的...