5 Star 11 Fork 0

vee / JTTextView

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

JTTextView

Download License

JTTextView是一个Android的EditText扩展,集成了较多的功能,简单易用,免去了开发很多的工作量。

效果预览

表单验证

注意:由于Android密码框明文显示也是受保护的,所以再录制明文显示时会黑屏,而实际真机调试并不会!推荐自己下载demo真机跑一下😊

功能

  1. 四个方向的图标在点击时可自动替换,并且有相应的回调listener。
  2. 可随焦点改变自动显示/隐藏图标。
  3. 具备「点选」「点松」两种模式。
  4. 解决了Android文字下划线麻烦的问题。
  5. 两种文字托盘样式,可高度自定义。
  6. 表单验证及自动填充(sames as AutoCompleteTextView)

集成

implementation 'com.william:JTTextView:1.0.0'

使用

in layout

<com.william.jttextview.JTTextView
        android:id="@+id/jt_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawablePadding="10dp"
        android:drawableLeft="@drawable/none"
        app:drawableStart_action="@drawable/yes"
        android:drawableTop="@drawable/none"
        app:drawableTop_action="@drawable/yes"
        android:drawableRight="@drawable/none"
        app:drawableEnd_action="@drawable/yes"
        android:drawableBottom="@drawable/none"
        app:drawableBottom_action="@drawable/yes"
        android:text="single click" />

In kotlin

jt1.setOnDrawableClickListener { switchState, view, actionId, currentText ->

            val str = when (actionId) {
                JTTextView.ACTION_START -> "left drawable"
                JTTextView.ACTION_TOP -> "top drawable"
                JTTextView.ACTION_END -> "right drawable"
                else -> "bottom drawable"
            }

            val test = if (switchState) "selected $str" else "give up $str"

            Toast.makeText(this, str, Toast.LENGTH_SHORT).show()
        }
        
jt5.validator = object : JTTextView.Validator {
            override fun isValid(text: CharSequence?): Boolean {
                return when {
                    text == null -> false
                    text.isEmpty() -> {
                        Toast.makeText(this@MainActivity, "please input your account !", Toast.LENGTH_SHORT).show()
                        false
                    }
                    text.length > 6 -> {
                        Toast.makeText(this@MainActivity, "your account's length is longer then 6 !", Toast.LENGTH_SHORT).show()
                        false
                    }
                    else -> true
                }
            }

            //autoComplete
            override fun fixText(invalidText: CharSequence?) = invalidText

        }

in Java

It's looks like kotlin :)

i'm busy!

attr属性一览

ATTR TYPE defaultValue EFFECT
drawableStart_action drawable none 点击时展示的左图标
drawableTop_action drawable none 点击时展示的上图标
drawableEnd_action drawable none 点击时展示的右图标
drawableBottom_action drawable none 点击时展示的下图标
autoReset boolean false 是否自动重置(手指点击触发,抬起则重置,参考demo密码明文显示)
autoDisplay boolean false 失去焦点时自动隐藏
underLine boolean false 是否显示文字下划线(颜色随文字颜色)
bottomLine boolean false 是否显示文字托盘,false则其他托盘设置均失效
bottomLineColor color 托盘颜色
bottomLineFocusColor color bottomLineColor 托盘聚焦颜色
bottomLineStroke float 托盘线条粗细
bottomLineFocusStroke color bottomLineStroke 托盘聚焦线条粗细
bottomLineStyle color line/wall 托盘样式,line:直线 wall:城墙(两端出头)

未来想加入的功能

  1. 多行文字在中间用...缩略(Android目前只支持单行文字在中间缩略)
  2. 加入多种托盘样式
  3. 还想要自行车?你说要那种?请提issues。

JT是什么意思?

JT是江豚的缩写,我希望我写的每一个开源框架,在给大家带来便利的同时,也让大家了解到长江江豚这种天生就会微笑直到濒危的可爱动物。

长江江豚

江豚

License

Copyright 2018 william Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

空文件

简介

JTTextView是一个基于Android的功能强大的TextView组件。 展开 收起
Android
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Android
1
https://gitee.com/william198824/JTTextView.git
git@gitee.com:william198824/JTTextView.git
william198824
JTTextView
JTTextView
master

搜索帮助