这几天开始网络授课,**青软安排了安卓直播课。于是给idea加了个android插件,稍微表面配合一下他们。
最近在讲安卓的界面,讲一些布局和控件的使用。老师的需求是模仿QQ登录界面。而QQ最近更新了登录界面布局,变成了简洁扁平风,还挺好康的,就想着仿一仿。由于界面存在不少圆角控件,就想着找一个轮子试试看用轮子。
UI框架RWidgetHelper
一开始找到的框架是FancyButtons,可是他只有按钮控件,而且不支持渐变色。后来在fb的issue里面找到了这个RWidgetHelper库,提供了很多控件而且还支持渐变。
安装
安装要注意的是,在api29下使用的版本和老安卓版本是不兼容的。所以我添加的是AndroidX版本的依赖。如果使用普通版本会出现dex冲突。
1 | implementation group: 'com.ruffian.library', name: 'RWidgetHelper-AndroidX', version: '0.0.2' |
使用
由于是第一次使用安卓的控件库,一开始看到README的时候还搞不明白怎么用。后来一番研究,发现只要找出控件库包含的控件,然后根据README文档提供的每种控件的属性来使用即可。
以圆角的EditText为例,使用app:corner_radius
属性,即可设置圆角。同时要注意的是,此时android:background
属性会无效,需要使用app:background_normal
属性来设置背景颜色。
1 | <com.ruffian.library.widget.REditText |
2 | android:layout_width="300dp" |
3 | android:layout_height="50dp" |
4 | app:corner_radius="40dp" |
5 |
|
6 | android:id="@+id/edt_account" |
7 | android:layout_centerHorizontal="true" |
8 | android:layout_below="@+id/tv_title" |
9 | android:layout_marginTop="20dp" |
10 |
|
11 | app:background_normal="#F3F2F7" |
12 | android:background="#F3F2F7" |
13 | android:paddingLeft="10dp" |
14 | android:paddingRight="10dp" |
15 | android:textColor="#000" |
16 | android:textAlignment="center" |
17 | /> |
这样出来的效果如下:
当然使用控件库,在preview里面显示的预览可能是不准确的,具体效果还是要以虚拟机里展现的为准。