在TextView中创建空心文字

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:shadowColor="@color/colorAccent"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="15"
android:text="Hello, I love you"
android:textColor="#fff"
android:textSize="52sp" />

android:shadowRadius用于设置阴影的模糊程度,该值越大,阴影越模糊。

在TextView中实现上文下图的布局

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableBottom="@mipmap/bg"
android:drawablePadding="16dp"
android:text="@string/long_text"
android:textSize="20sp" />

除了上述的drawableBottom, TextView还提供了drawableEnd, drawableLeft, drawableRight等属性设置图片在文字的位置,另外drawablePadding用于设置文本与图像之间的间距。

在TextView中为文本添加超链接

  • resource添加链接文本
<string name="link_text">Link is here. <a href="https://www.baidu.com/">百度一下</a></string>
  • 添加Textview
<TextView
android:id="@+id/tv_link"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/link_text"
android:textSize="20sp" />
  • 在onCreate方法里面设置movementMethod
tv_link.movementMethod = LinkMovementMethod.getInstance()

禁止在EditText中插入非法文字

  • 定义EditView
<EditText
android:id="@+id/et_money"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autofillHints="edit"
android:hint="@string/edit_hint"
android:inputType="numberDecimal"
android:textSize="20sp" />
  • 添加InputFilter类,定义过滤规则
package com.huhx.wusq.activity

import android.text.InputFilter
import android.text.Spanned class InputFilterMinMax(min: Float, max: Float) : InputFilter {
private var min: Float = 0.0F
private var max: Float = 0.0F init {
this.min = min
this.max = max
} override fun filter(source: CharSequence, start: Int, end: Int, dest: Spanned, dstart: Int, dend: Int): CharSequence? {
try {
val input = (dest.subSequence(0, dstart).toString() + source + dest.subSequence(dend, dest.length)).toFloat()
if (isInRange(min, max, input))
return null
} catch (nfe: NumberFormatException) {
}
return ""
} private fun isInRange(a: Float, b: Float, c: Float): Boolean {
return if (b > a) c in a..b else c in b..a
}
}
  • 在onCreate方法中设置EditView的filters属性
et_money.filters = arrayOf<InputFilter>(InputFilterMinMax(0.0F, 20.0F))

使用AutoCompleteTextView实现自动提示

  • 添加AutoCompleteTextView
<AutoCompleteTextView
android:id="@+id/actv_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:hint="@string/auto_complete_hint"
android:inputType="text"
android:textSize="20sp" />

completionThreshold为1,表示输入第一个字符时触发自动提示。

  • 在onCreate中设置AutoCompleteTextView的adapter
class MainActivity : AppCompatActivity() {
private val myArray = arrayOf("apple", "watermelon", "orange", "pear", "cat", "dog", "fish", "people") override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
val adapter = ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, myArray)
actv_search.setAdapter(adapter)
}
}

在EditText右端设置输入提示内容和图标

  • 添加EditView
<EditText
android:id="@+id/et_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autofillHints="edit"
android:hint="@string/edit_hint"
android:inputType="text"
android:textSize="20sp" />
  • 在onCreate中设置EditView的属性
val drawable = resources.getDrawable(R.mipmap.ic_launcher, theme)
drawable.setBounds(0, 0, 72, 72)
et_message.setError("必须填写", drawable)

android使用---->常用组件1的更多相关文章

  1. android开发常用组件【持续更新中。。。】

    UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...

  2. android开发常用组件(库)推荐

    版本兼容:官方 support 全家桶 网络请求:Android-Async-Http.Retrofit.OkHttp.Volley图片加载:Glide 和 Universal-Image-Loade ...

  3. Android常用组件

    UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...

  4. Android常用组件【转】

    UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...

  5. React Native常用组件在Android和IOS上的不同

    React Native常用组件在Android和IOS上的不同 一.Text组件在两个平台上的不同表现 1.1 height与fontSize 1.1.1只指定font,不指定height 在这种情 ...

  6. Android常用组件Broadcast介绍

    一.Broadcast简介 Broadcast是Android的四大组件之一.可分为: 1.普通广播 发送一个广播,所有监听该广播的广播接收者都可以监听到改广播. 2.异步广播 当处理完之后的Inte ...

  7. Android中Intent组件详解

    Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件.Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙 ...

  8. Android之桌面组件AppWidget

    转载:Android之桌面组件App Widget初探 Android开发应用除了程序应用,还有App Widget应用.好多人会开发程序应用而不会开发App Widget应用.本帖子就是帮助大家学习 ...

  9. 详解 Android 的 Activity 组件

    Activity 的生命周期 和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理.与 MIDlet 不同的是安装在 android 中的所有的 ...

  10. 第18讲- UI常用组件之EditText

    第18讲UI常用组件之EditText 三.文本输入框EditText EditTex类继承自TextView.EditText是接受用户输入信息的最重要控件.在html当中,相当于<input ...

随机推荐

  1. StrFormatter 字符串格式化

    package com.hopedove.processserver.util; /** * 字符串格式化 * * @author ruoyi */ public class StrFormatter ...

  2. es6中箭头函数和this指向

    箭头函数相当于匿名函数,简化了函数定义. 箭头函数有两种写法,当函数体是单条语句的时候可以省略{}和return. 另一种是包含多条语句,不可以省略{}和return. 特点 箭头函数最大的特点就是没 ...

  3. fiddler everywhere 抓包工具的使用

    1.功能 手机微信或者浏览器访问网址都可以在fidder里面抓到http请求 2.配置 电脑fidder setting->允许安卓手机远程访问 安卓手机 设置->wifi代理 主机名是电 ...

  4. Epoll的使用例子

    本篇文章在上一篇的基础上,使用 epoll  实现了一个事件监听和回调处理的模块.如何编写一个使用该模块的例子呢? 监测什么类型的fd,监测什么类型的事件,监测到事件以后需要做什么?后来可以看看如何将 ...

  5. 正则url匹配

    今天来说一下正则的url匹配 示例:url ="https://v5.lairen.com/activity?id=862&code=ab9a61823398273b7b036fd9 ...

  6. gimp脚本.scm一些心得记录

    gimp的脚本scm一些心得记录 GIMP 2.10 图像处理脚本推荐GIMP使用脚本使得图像处理的功能更加强大,对于一些常见操作可以通过脚本快速实现.GIMP也出来2.10版本了,比前面的2.8相比 ...

  7. AntD为Form的List设置默认值 (antd form.list 设置默认值 )

    import React from "react"; function demo() { const FormConfig = { labelCol: { span: 8 }, w ...

  8. 请求GET和POST的区别

    实际上GET和POST他们只有语义上的区别,之所以有我们所谓的区别是由于前端与后端达成的协议. 区别1:get请求不会附带请求体,而post请求有请求体. 区别2: get请求传递的信息量是有限的,适 ...

  9. postcss-px-to-viewport适配屏幕大小

    1.postcss-px-to-viewport适配的介绍 postcss-px-to-viewport是一个插件,用起来非常方便,安装一下插件,搞个配置文件就可以直接用了. 2.postcss-px ...

  10. 在vscode中用tsc编译ts文件的时候报错,tsc : 无法加载文件,因为在此系统上禁止运行脚本;SecurityError

    1. TypeScript安装成功,在C盘的Administrator目录下,运行 tsc -v 也可看到TypeScript的版本.  2. 但在vscode中的时候运行tsc 编译ts文件的时候报 ...