TextInputLayout的使用 这里使用TextInputLayout简单写一个登录的界面 布局代码 android="http://schemas.android.com...,还有hintAppearance的值,mErrorTextAppearance是错误提示文字的样式,errorEnabled是否开启错误提示 setErrorEnabled(errorEnabled)...super.addView(child, index, params); } } 只有当child 是 EditText的时候,会调用自身的setEditText方法,然后调用父类LinearLayout...的addView方法,如果不是EditText,也调用父类的addView方法,查看setEditText方法 内部 private void setEditText(EditText editText...设置折叠的bounds去匹配EditText可编辑区域的高,接下来我们查看CollapsingTextHelper这个非常重要的类的代码 public CollapsingTextHelper(View
要恢复为旧的文本字段可以在布局中添加样式 android.material.textfield.TextInputLayout ... + style="@style...下面这几种情况应该考虑 在布局中写的控件如果有对应的 MDC 控件的话,直接使用 MDC 控件 任何的风格,默认风格和默认风格属性应该改变成 MDC 版本 在编程中或者自定义类的父级类使用的任何控件都应该为...,中,大 这些合适的样式属性来自 ShapeAppearance.* styles。...MDC小部件使用这些属性来设置其背景样式。要了解哪些窗口小部件适用于哪些形状类别,需要检查源代码中的默认窗口小部件样式。 控件背景 实现此功能的类为 MaterialShapeDrawable....android.material.card.MaterialCardView> 使用 `corner family` 和 `size` 来自定义 shape 我们可以选择在应用主题中覆盖形状样式来表达我们自己的品牌
TextInputLayout 基础样式、错误提示、字数限制等等 效果图: 【2020-12-13】Theme切换到MaterialComponents之后,是有一些变化的,比如默认背景、默认padding..."@style/MyEditText" /> android.support.design.widget.TextInputLayout> android.support.design.widget.TextInputLayout...> 1、修改默认样式 style: <!..." TextInputEditText: android:theme="@style/MyEditText" 2、错误提示样式及代码设置 style: 样式 先设置TextInputEditText android:inputType="textPassword" 然后设置TextInputLayout app:passwordToggleEnabled
出现后得到了极大改善,我们可以做最少的事达到最好的效果 效果图 ---- 导入支持库 implementation 'com.android.support:appcompat-v7:28.0.0...可以看到并不是非常美观,下载我们引入 TextInputLayout 稍作改动 ---- 使用 TextInputLayout 我们终于到达了本教程中最有趣的部分。...[a-zA-Z0-9-]+)*$/ 所以我们就可以根据这个表达式建立一个类来实现完整的功能了 public class EmailManager { private static final...另一个有趣的事实是,如果尚未启用错误功能并且您调用setError传递非null参数,setErrorEnabled(true) 则会自动调用。...每个小部件的颜色都直接从style.xml文件中指定的主题颜色中绘制 。只需打开它并将colorAccent项目添加到活动主题即可更改表单的颜色方案。
这样Android Studio 编译系统会自动获取必要的资源,然后你就能够使用需要的类了。 ? Design the User Interface 这个用户界面非常简单。....support.design.widget.TextInputLayout android:id="@+id/usernameWrapper" android:layout_width...[a-zA-Z0-9-]+)*$/ 因为我们想验证字符串,我必须依赖Pattern和Matcher两个类。includeava.util.regex 包。...另一个有趣的事实是如果错误功能未开启但是你调用了传入非null参数的setError,那么setErrorEnabled(true)将自动被调用。...TextInputLayout,多亏有了刚刚引入的Design Support Library。
,如有需要,可自理(多选模式:类名.模式名) so:项目源码:Github----Android_Material_Design_Test你看着办吧 ---- 本系列文章一览: Android材料设计Material...+Palette Android材料设计之DrawerLayout+NavigationView+TextInputLayout Android材料设计之Behavior攻坚战 ---- 一、本篇是干嘛的...fab的属性.png ---- 4.Snackbar资料卡片: 国籍:非View 城市:BaseTransientBottomBar 爱好:show 一句话:虽然我不是View,但我体内燃烧着View的灵魂...fab_sna.gif ---- 5.bottom_sheet资料卡片: 国籍:非View 城市:Behavior族 爱好:暗杀、潜藏、show 一句话:哥是迷一样的存在----Behavior族 额外依赖...常用颜色.png 2.测试Text样式抽取 <!
Control (控制层)控制器由View 根据用户行为触发并响应来自view 的用户交互,然后根据view 的事件逻辑来修改对应的Model, Control 并不关心 View 如何展示 相关数据或状态...不过也有缺点,额外增加了大量的接口、类,不方便进行管理,所以关于MVP的话就还有一个Contract要去处理。...Contract 如其名,是一个契约,将Model、View、Presenter 进行约束管理,方便后期类的查找、维护。 presenter - 逻辑处理层对UI的各种业务事件进行相应处理。...本文的主要目标是ViewModel 和 DataBinding。 从Google的官方说明来看,ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。...类,表示与MainActivity进行绑定。
简介 使用ObservableField来初始化变量,例如:var userPhone=ObservableField() 封装 这时候我们需要对model类进行一层封装才能达到我们的要求...1.png 解释 因为使用databinding是双向绑定,所以咱们这里就比较方便的来直接判断变量中的值即可。...因为这里是我自己写的Demo,所以逻辑判断是比较简单的,大家如果使用按照自己的需求网上添加即可。...android:textSize="@dimen/font_normal"/> android.support.design.widget.TextInputLayout>...(registModel) //监听EditText的值是否合法 //初始化model类,用回调的值更新button的isEnabled属性 var registModel = RegisterModel
TextInputLayout的使用 在Gradle的依赖中添加上com.android.support:design:23.0.0,其中23版本根据编译的android版本来调整对应版本即可 ?...Layout配置文件 TextInputLayout效果 在两个输入框切换点击切换的时候,EditText中的文本会有动画的方式飞向左上角。 ?...TextInputLayout效果 TextInputLayout动画实现原理 原本以为在点击输入框的时候,会是在EditText的Focus改变的时候,开始执行动画,结果发现是在整个TextInputLayout...animateToExpansionFraction CollapsingTextHelper在这个类中,保存了当前Animation执行的到的状态,比如说当前绘制的hint文案的位置(x,y),画笔的位置和颜色...TextInputLayout.onLayout 在TextInputLayout中的draw中,会根据onLayout中计算出的CollapsingTextHelper矩形位置以及缩放大小开始绘制文字
Google从动画、颜色、样式、触控反馈、布局等多个方面给出了Material Design的设计要求。...Snackbar的详细使用参见《轻量级控件SnackBar使用以及源码分析》 TextInputLayout 布局: android.support.design.widget.TextInputLayout...需要注意的是,TextInputLayout必须包含一个EditText。...TextInputLayout详细使用请参见强大的提示控件TextInputLayout使用以及源码分析 Toolbar android.support.v7.widget.Toolbar android...主要使用ActivityOptions类。只支持API21以上的版本。
Android 系统样式中的颜色属性 推荐阅读看完后彻底搞清楚Android中的 Attr 、 Style 、Theme 几个常用的颜色属性 先放上一张经典的图片,图片来自网络。 ?...状态 EditText:获取焦点的时候的下划线和光标颜色 TextInputLayout:悬浮 label 字体颜色 等等 android:navigationBarColor navigation...editTextColor: 默认 EditView 输入框字体颜色 TextColor TextView 的文字颜色 更多查看这里 样式介绍 从 Android 5.0 开始,Android 系统引入了...这里使用了一个 Titlbar 这样效果和整体很不搭配,我们需要的是 Titlbar 的背景使用我们的 colorPrimary 字体的颜色使用 浅色文本样式 的颜色,那么这样我们就可以自己定义一个样式...当然你自己完全可以用属性来自己完成。 ? 这是 ThemOverlay 样式的全部样式了,每个样式里面的内容都很简单。就是修改一些最基本的属性,不像 Theme 一样里面有那么多的内容。
:textColor="@color/black" /> LinearLayout> 在styles.xml中增加如下样式: 类,代码如下: open class BleApplication : Application(...然后在utils包下新增一个扩展类,用于根据不同的数据类型进行缓存处理。...> android.material.textfield.TextInputLayout android:layout_width="match_parent...> android.material.textfield.TextInputLayout android:layout_width="match_parent
③ WebRepository 数据有了,API接口有了,下面就是去调用的地方了,在repository包下新增一个WebRepository类,里面的代码如下: @SuppressLint("CheckResult...四、传递新闻参数 在点击新闻列表中的某一项的时候传递参数到WebActivity中,在NewsAdapter类中添加如下代码: public static class ClickBinding {...因此不需要放入数据表中,所以我用@Ignore注解了,下面创建相关的Dao类。...}" /> android.material.textfield.TextInputLayout> android.material.textfield.TextInputLayout...,这里要注意,之前用的是model包下的User类,现在用的是bean包下的User类,有本质的区别,修改LoginViewModel的代码如下所示: public class LoginViewModel
= startActivity(Intent(this, clazz)) } 这里是作为一个基类,后续我们写关于Activity的都放在这个下面。...② 创建ServerActivity 在创建之前我们需要改动一下样式,因为之前是使用自带的ActionBar,现在我们需要去掉,改成NoActionBar,如下图所示: 然后在drawable...binding.rvMsg.smoothScrollToPosition(this) } } } } 在这里我首先继承自BaseActivity,这样可以使用父类的方法...android:id="@+id/textInputLayout" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox...在ui包下新建一个SelectTypeActivity类,对应的布局是activity_select_type.xml,代码如下: <?
前言 React Native出来一年多了,受到各大开发人员的喜爱,但是由于只是专注于View层的开发,因此在很多深层次上还需要结合原生app做一定的兼容,还有就是现在好多控件,如Android中已是系统的控件的...={()=>this.onClick(data)} isChecked={data.checked} leftText={leftText} />; 当然我们也可以自定义样式,主要是对选中和未选中的样式做修改...selectedValue 这个属性是选择的值 enabled 设置是否可点击 Android属性 mode 设置样式 Android属性 dropdown下拉样式和dialog弹窗样式 默认是dialog...prompt 设置Picker标题 Android属性 并且只有是mode为dialog才会显示 itemStyle 设置每一项的样式 iOS属性 用法: /** * Created by Administrator...https://github.com/halilb/react-native-textinput-effects https://github.com/zbtang/React-Native-TextInputLayout
/android" xmlns:app="http://schemas.android.com/apk/res-auto" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox...android:id="@+id/data_layout" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox...true" /> android.material.textfield.TextInputLayout> <Button android:id...:tint">@color/white 这是一个菜单图标的样式,android:tint就是添加一个颜色,可以说是覆盖一个颜色,比如原来是黑色,那么我再涂成白色...然后在GoodBle主题样式中增加这一行代码: <style name="Theme.GoodBle" parent="Theme.MaterialComponents.DayNight.NoActionBar
现在带浮动标签的输入框也是一个很常见的东西了,在材料设计里面有一个 TextInputLayout 的控件,我们可以用它实现这个效果。但是材料设计控件的样式比较固定,并不能满足我们产品设计的脑洞。...这里提供一个用属性动画实现的方法。 还是先看看效果吧: image.png 大概的思路是这样的: 控件有两层,一层是浮动的标签,一层是输入框。...缩放动画是根据控件的基准坐标来进行缩放的。也就是说,当我们把基准坐标设在控件上方时,缩放的时候也会有一个移动的效果。...所以在布局里面用 android:transformPivotX="0dp" android:transformPivotY="-30dp" 复制代码 将标签的基准点设为 (0dp, -30dp),这样我们就省去了移动动画...虽然实现一个这样的控件不难,但我个人还是希望可以使用原生控件的,希望移动端的设计能多去了解一下材料设计吧。(T_T)
MDC 1.1.0 在您的 Android 应用中启用 Material Theming 。...所有组件都支持通过主题、样式、新属性和自定义类(比如:MaterialShapeDrawable) 来调整其颜色、字体和形状。...并且已经存在的组件也是通过最新的设计有了新的 style 如果您使用的是Design库或者 MDC 1.0.0 那么组件将自动采用这些新样式。...Android 10 手势支持 手势导航是在 Android10 中引入的。某些 MDC 组件常常处于主手势的区域(比如,BottomNavigationView 以及从底部向上滑动的原始手势)。...这主要包含更好的 "话语提示" 在有用的内容描述、功能和各部分的排序。例如,TextInputLayout现在按正确的顺序读取其提示,输入以及帮助程序或错误文本。
领取专属 10元无门槛券
手把手带您无忧上云