UI
文章平均质量分 93
创建的ui控件或自定义ui相关知识
钰娘娘
学多了感觉有点玄乎,终极问题都回到XX的原理是什么,于是层层dfs,有点探索世界本源的意思了,有点修炼至神的味道。程序员果然是新时代的创始神。
展开
-
《Java 核心技术 卷1》 笔记 第八章 事件处理
8.1 事件处理基础事件:用户进行某种输入操作时,触发的效果。比如点击鼠标,按下键盘按键。事件过程(VB):事件与过程之间有显著的关系。把触发效果(固定,语言写死)对应的过程放在事件编写的代码中。事件队列(C):代码不断检查事件队列,查询到有事件发生时,进行处理。Java的事件触发过程:指派事件监听器 接收事件 处理事件Java中所有对象派生于EventObjectActionEvent:按钮事件WindowEvent:窗口事件8.1.1 按钮点...原创 2022-02-15 14:41:21 · 366 阅读 · 0 评论 -
《Java 核心技术 卷1》 笔记 第七章 图形程序设计(6) 图像平铺
7.10 图像 读取图像 Image image = ImageIO.read(new File("src/resource/background.jpeg")); 获取图片宽高 int imageWidth = image.getWidth(this);int imageHeight = image.getHeight(this); 循环平铺g.copyArea(0,0,imageWidth,imageHeight,i,j); 参数:x,y,宽,高,粘贴左上角位置...原创 2022-02-14 14:12:50 · 217 阅读 · 0 评论 -
《Java 核心技术 卷1》 笔记 第七章 图形程序设计(5)
7.9 为文本设置特殊字体设置的字体,只能是当前系统的字体之一,可使用 GraphicsEnvironment 打印适合当前系统的字体。public class Main { public static void main(String[] args) throws CloneNotSupportedException, InterruptedException { Main solution = new Main(); GraphicsEnv...原创 2022-02-13 20:23:44 · 512 阅读 · 0 评论 -
《Java 核心技术 卷1》 笔记 第七章 图形程序设计(4)
7.7 2D图形Graphics可绘制:直线、矩形、椭圆等 2D 图形JDK1.2 后引入 Graphics2D,可强制把 Gaphics 转换为 Graphics2D直线:Line2D矩形:Rectangle2D椭圆:Ellipse2D点:Point2D矩形float:Rectangle2D.Float矩形double:Rectangle2D.Doubleclass DrawComponent extends JComponent{ public void..原创 2022-02-12 16:08:08 · 537 阅读 · 0 评论 -
《Java 核心技术 卷1》 笔记 第七章 图形程序设计(2)
7.4 框架属性getter,setter 方法通常如下:public String getTitle(){ return title;}public void setTitle(String title){ this.title = title;}但是对于布尔类型,getter 方法则会以is开头public boolean isLocationByPlatform(){ return b;}public void setLocationByPlatform(bo...原创 2022-02-10 15:00:27 · 530 阅读 · 0 评论 -
《Java 核心技术 卷1》 笔记 第七章 图形程序设计
说实话,要不要跳过 Java 图形页面这个问题我纠结了很久。工作多年,已经把 Java 的 GUI 和 swing 忘的一干二净,不会有公司用它的,办公场景完全用不到 swing。但是,我们可以完全可以考虑拿它做一些小工具,比如软件开启集成页,省的每次在系统里,都要在固定地方打开软件。再比如桌面闹钟,计时器,json 格式化工具,时间戳转换工具。它原生、轻量级,只要有 java 环境就能用,还能用 exe4j 打包,那就可以直接生成 exe 文件,随时可用。考虑到这点,打算再学习一遍...原创 2022-02-09 15:09:11 · 662 阅读 · 0 评论 -
webviewJavascriptBridge奇葩错误记录
webviewJavascriptBridge奇葩错误记录可能有些读者不知道webviewJavascriptBridge是啥,我先简单说一下。android和ios有时会需要与h5界面交互。如果不使用该框架,h5端需要写两套接口分别针对android和ios,使用该框架可以统一接口。 我用的版本网址:https://github.com/gzsll/WebViewJavascriptBridge原创 2017-08-11 12:41:13 · 2002 阅读 · 0 评论 -
x5webview和webview联合集成
最近要做一个主h5的android项目,恶补了一下x5,然后听到隔壁的大神说x5在部分例如中兴的手机加载速度慢,不如使用普通webview,因为项目需要,所以暂时使用这两种浏览器,但不保证后续是否会使用新的浏览器,这要求程序要有足够的扩展性,思前想后,有了大致的思路:状态模式+策略模式。Application部分private static final long X5_TIME =原创 2017-08-11 13:47:44 · 3450 阅读 · 2 评论 -
几种获取高度的方式
最近在做自定义组件,好头痛这个高度问题,就小小的整理一下。下面整理几种获取高度的方法:(1)int height = view.getHeight()固定高度的时候有效。比如你布局里用的dp,java代码里面不想转px,直接拿高度是一种好方法(2)int height = getLayoutParams().height这个要onMeasure之后才能得到,也可以进行设置高度。(3原创 2017-08-12 09:26:55 · 2196 阅读 · 0 评论 -
下拉刷新第三方框架整理
XListView:早期的下拉刷新版本,不过支持的是ListView如果需要recyclerview则需要改装。优点:简洁,易改装,只有3个小文件,XListViewHeader,XListViewFooter,XListView,对于ui初学者或者对下拉刷新改装有强烈需求可以使用。下载地址:https://github.com/Maxwin-z/XListView-Android原创 2017-08-12 10:46:31 · 372 阅读 · 0 评论 -
小米顶部弹窗
看到QQ和微信顶部消息有时会有弹窗,想着自己能不能弄个出来,于是百度,发现一个概念:横幅通知,感兴趣的可以去百度。然后各种苦逼的复制粘贴,发现:小米不能直接通过横幅通知实现该功能,会直接跳转到一个新的页面,根本看不到横幅通知,难道是我眼瞎?好吧,再找,再git上找到一个,但还是不能用:https://github.com/zzz40500/HeadsUp第三个点击直接bug掉了原创 2017-09-01 12:05:28 · 1618 阅读 · 0 评论 -
Activity主流启动动画(超详细精髓版)
Activity启动动画相信大家都学过,无非可以加在两个地方,一个是style中,一个是activity中,但是通过开源项目SpintNBA,我发现启动图是可以随机的,贴一下我的修改后的style.xml:<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowAct原创 2017-09-04 12:36:55 · 1162 阅读 · 0 评论 -
友盟分享QQ,微信,朋友圈和微博的坑
其实说起来友盟的文档非常完善,开发文档有点小问题,但大多问题错误必看部分都有补充,是我目前看到最有良心的第三方了,这里默默点个赞。以下内容只为了下次开发用到时能够少走弯路。正常的部分不提了,按照文档配置即可,说一下几个文档坑点: 以下方括号部分引用自友盟的文档http://dev.umeng.com/social/android/quick-integration#11.文档中多了一原创 2017-09-16 14:28:53 · 2521 阅读 · 1 评论 -
踩坑:图片拍照上传等
以前这个功能也做过,无奈这次碰上的坑特别多,特此记录。为啥拍照后总resultCode总是0?检查了许久,发现,存储的位置不在sdcard,所以拍照后的resultCode总是0。以前没有关注过,以后就要注意,拍照后存储的位置必然sdcard,否则拍照后的结果为失败。空图片,一选就挂掉这一问题主要源于上面,上面创建了图片文件,但因为没有正确放入图片,所以大小为空,所以压缩之前要判断是否为空。部分手机原创 2017-09-21 08:58:14 · 506 阅读 · 0 评论 -
activity生命周期-进阶版(除了onCreate...onDestroy这些还有什么?)
时隔两年,我对于activity的生命周期非但未变得清晰,反而越来越疑惑。除了普通生命周期方法:onStart(),onRestart(),onCreate(),onResume(),onPause(),onStop(),onDestroy()这些,其实activity启动时,还有一些隐藏的,系统一定会调用的方法。事实上,一些优秀的开源项目会重写这些方法,完成一些必要的操作,而我在看到这些方法,除了原创 2017-09-22 10:57:41 · 837 阅读 · 0 评论 -
刷新框架选项卡切换以及连续下拉问题解决
实际上这个问题很多刷新框架都有,如果你正在用除XRefreshView的其他框架困扰,可以参考本文进行改造。问题描述:比如我要做个新闻app,上面有n个新选项卡,我希望一切换该选项卡就刷新,如果正在下拉刷新则延长时间。刷新列表的界面各个选项卡公用。 问题来了,使用xrefreshview的时候,我切换选项卡它刷新了,但是刷新过程中继续切换,它不会重新刷新,两次下拉不会重新刷新。那么,如果解决这个问原创 2017-11-17 10:46:17 · 1148 阅读 · 0 评论 -
点击按钮连续滚动【适用于广告栏等】
这是我要做的草图,中间的图的部分是一堆需要浏览的图片可以直接拖动,所以用了horizontalScrollView,两边的按钮要求当按下去的时候需要连续向左或者向右滚动。如果你不需要连续,中间是一张大图,可以用: hScrollView.arrowScroll(View.FOCUS_LEFT); hScrollView.arrowScroll(View.FOCUS_RIGHT); 这个是翻一整原创 2017-11-27 11:50:40 · 483 阅读 · 0 评论 -
dialog内部webview显示网页生成的二维码(网页非图)宽度问题
使用webview外部布局必须填满或设置高度,所以布局如下[二维码原背景为无,chrome显示为黑色,坑。。。]:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="matc原创 2017-12-04 09:51:44 · 547 阅读 · 0 评论 -
android金钱符号变形,使用¥(一个中文字宽)还是¥(半个中文字宽)?
app的各个手机厂商不同,字体也不同,甚至有些会有皮肤里面带字体导致字错乱。之前一直打的¥(一个中文字宽),在代码里面显示为一横,有的字体显示两横,某测试用华为手机测了一下,变成了丫,真醉。。。后面考虑了一下,用¥来代替,但是¥(半个中文字宽)和¥(一个中文字宽)相比少占了半个格子,所以加了空格,显得松散些:¥ 10,,这个和众位字¥10看起来相差小一些。当然还有一招: String html原创 2017-12-15 14:57:03 · 2140 阅读 · 0 评论 -
android 友盟分享-圆角图标有黑底色问题
圆角图片分享边角会变黑色,解决方案有: 1.QQ分享等: UMImage umImage = new UMImage(this, R.drawable.ic_share_left); umImage.compressFormat = Bitmap.CompressFormat.PNG; 这个方式可以解决部分分享png图片的黑角问题2.朋友圈等: 非白色-直接底色用白色的j原创 2017-12-18 11:16:50 · 2446 阅读 · 0 评论 -
android 共享元素
首先,要知道共享元素只用于21+版本。 这里只提关键步骤:1.values-v21文件夹中的style设置同名主题:<item name="android:windowContentTransitions">true</item>2.启动activity配置(1)xml 共享元素设置【此项设置和打开的activity共享元素设置相同】android:transitionName="shareEl原创 2017-12-19 10:42:29 · 460 阅读 · 0 评论 -
android 点击EditText弹键盘,点击其他控件收键盘不触发点击事件,特1控件收键盘触发点击,特2控件点击不收键盘
说实话开发android,键盘真的很不听话,非常难用,于是百度找到dispatchTouchEvent进行重写可完成键盘收放,但还是不够完美,我期望的功能如下: 1.基础功能: a.点击输入控件弹出键盘 b.点击非输入控件收起键盘2.特殊功能1: 特殊按钮点击时除了收起键盘也能触发其本省点击事件,例如登录按钮,输入完信息后,我希望点击登录时能够收起键盘并且触发点击事件(不是所有都需要,比如列原创 2017-12-21 15:36:27 · 1111 阅读 · 1 评论 -
viewpager与recyclerview
经常有需求要求不同标签页加载的列表类型类似,比如标签1是国内新闻,标签2是国外新闻,标签3是娱乐新闻。。。 实际上每个列表都是相同方式加载的。为了减少控件的重新写的问题,所以用了同一个recyclerview,没有使用viewpager,后面公司又改需求了,郁闷。。。 以下,比较同类标签页(同样格式显示列表,只不过传的某个参数不同,导致获取的列表不同)1.不使用viewpager,使用同一个re原创 2017-12-27 09:11:23 · 2472 阅读 · 0 评论 -
简易自定义table(二)垂直方向合并单元格
其实我这里也不是真正的合并单元格,只是使用相对布局,内部嵌套表格布局,然后覆盖原来的表格上的多行重复内容。如果需要透明效果,那么会显示出下面的文字,当然,也可以通过重置下面的单元格,让它的字和背景变透明,分割线变透明,从而实现只有单层。 Activity代码:package com.dyy.yonxin.library2.test;import android.graphics.Color;im原创 2017-12-27 10:33:14 · 2623 阅读 · 0 评论 -
android手机多点触控事件
在所有android设备中,手机这种允许拖拽,复杂放大缩小手势的不多。但在有些时候或许用的到。这里稍作记录。OnTouchListener的onTouch(event),这个MotionEvent里面包含了所有的触控存在的操作。单点触控过程:MotionEvent.ACTION_DOWN(按下)-MotionEvent.ACTION_MOVE(移动)-MotionEvent.ACTION_UP(抬起原创 2017-12-27 14:22:46 · 630 阅读 · 0 评论 -
使用Glide出现的问题
本来新app第一版很小,为了精简用了Picasso,一直用着也没什么问题。不知为何,某张网络图片死活加载不出来,没办法打算下一版换Glide,但是又出现新问题,这里总结一下:(1)设置tag报错。这个是可以绕过的: Glide.with(getActivity()) .load(imgUrls.get(i))原创 2017-12-27 16:58:28 · 540 阅读 · 0 评论 -
导入opencv4Android人脸检测例子
本来公司也不需要这个功能,想到有些软件有银行卡识别,很好奇怎么弄得,然后查到opencv,然后发现这东西能做人脸识别,好神奇,所以down了下来,之后发现要用ndk,没关系,之前有写过基础,有点印象。导入,额,导入了一天半,太麻烦了,麻烦到看到成功都要热泪盈眶的地步。讲一下步骤:1.下载opencv4Android,为了方便扔到百度网盘:https://pan.baidu.com/s/1eSF9qD原创 2017-12-29 11:45:48 · 949 阅读 · 0 评论 -
android闪光灯
android的闪光灯不大好用,Andy银行卡识别项目中(不记得在哪里找的了反正也是csdn里面的,如果作者有意见可以提,我会标明链接地址的),闪光灯效果不错【以前直接用android的闪光灯效果有时候有效果有时候无效果,很郁闷,这个效果不错】,随意摘录一下: if (!ScanCamera.this.getPackageManager().hasSystemFeature("android.har原创 2017-12-29 17:21:31 · 369 阅读 · 0 评论 -
andorid使用ItemDecoration绘制超炫酷标签
先上效果: 左上角右上角的标签在开发中可能会用到,其实最初的时候是因为我一直都没有用ItemDecoration,个人不喜欢,太麻烦,还不如直接画出来,然后最下面一条隐藏底部分割线呢,用这东西看不到效果,调试时间会变长。但偶然间看了一篇博客,讲了除了这一用途外,可以用来做标签,这篇博客在: https://www.jianshu.com/p/b46a4ff7c10a 此文章有截图如下:原创 2018-01-03 14:53:00 · 1548 阅读 · 0 评论 -
android用ItemDecoration实现通讯录
本来因为代码是抄的不太想自己写一篇博客,但是用的过程中出现了意外,不知道为什么粘性头部效果完全不对,无奈之下只好重新写了。特此记录: getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state):用于设置item之间的距离,onDraw只能画在这个距离内,多出的部分不可见 onDraw原创 2018-01-03 17:08:09 · 668 阅读 · 0 评论 -
使用LeanCloud进行即时通信
目录下载开源项目LeanCloudChatKit-Android简单配置leanCloudChatKit-manifest配置工程的buildgradleapplication配置代码接入即时聊天创建会话获取首次消息接收实时消息1.下载开源项目LeanCloudChatKit-Android点击链接部分进行下载,或者直接clone命原创 2018-01-06 14:03:59 · 2943 阅读 · 0 评论 -
android自定义Toast——让你应用别具一格
简化Toast简化为两参简化为一参自定义toast改变字的大小和背景样式自定义布局增加不同颜色标识不同的toast总结实际上,在github上层看到这种toast,但我的感觉是:用起来太麻烦了!我需要的要求是越简单越好!简化Toast原toast形式: Toast.makeText(this,”t”,Toast.LENGTH_LONG).s原创 2018-01-11 11:32:41 · 1695 阅读 · 1 评论 -
自定义TextInputLayout
说实话,虽然TextInputLayout效果看起来不错,但用起来还是挺麻烦。 - 槽点1:提示字颜色和错误字颜色设定麻烦,这里提示字要用主题的colorAccent,太不灵活了,错误字颜色还直接设置不了! - 槽点2:你这东西能不能智能一点?错误格式改为正确的时候为啥不能自动识别?所以无奈自定义MyEditTextInput :public class MyEditTextI原创 2018-01-09 15:07:44 · 867 阅读 · 0 评论