这是我参与「第四届青训营」笔记创作活动的第十天。这篇笔记主要是对安卓客户端常规&高级UI编程”这节课中UI组件相关部分的记录。
笔记
UI组件
什么是UI组件
UI:User Interface,图形用户页面,UI界面由多个不同功能的UI组件构成,Android SDK提供了大量的UI组件
常规UI组件
常规UI组件大多由Android Framework中的android.widget这个package提供
| 组件 | Java Class | Package |
|---|---|---|
| 文本组件 | TextView | android.widget.TextView |
| 图片组件 | ImageView | android.widget.ImageView |
| 按钮组件 | Button | android.widget.Button |
| 输入框组件 | EditText | android.widget.EditText |
| 复选框组件 | CheckBox | android.widget.CheckBox |
| 单选按钮 | RadioButton | android.widget.RadioButton |
常规view的属性和方法
通用属性和方法
属性
- id: android:id="@+id/button_send"
- height: android:layout_height="wrap_content"
- width: android:layout_width="wrap_content"
- margin: android:layout_margin="20dp"
- padding: android:padding="10dp"
方法
- setld(@ldRes int id)
- setLayoutParams(ViewGroup.LayoutParams params)
- setPadding(int left,int top,int right,int bottom)
特定属性和方法
TextView
- android:text="@string/button_send"
- setText(CharSequence text)
ImageView
- android:src="@drawable/ic_launcher
- setlmageDrawable(@Nullable Drawable drawable)
CheckBox
- android:checked="false"
- setChecked(boolean checked)
UI组件间的关系
常规UI组件的使用
gravity:子元素在该容器内的对齐方式
layout_gravity:组件相对于父元素的对齐方式
<TextView
android:id="@+id/tv title"
android:layout_width="200dp"
android:layout_height="200dp'
android:layout_margin="20dp"
android:layout_gravity="center"
android:gravity="center"
android:padding="10dp"
android:text="@string/app_name"
android:textSize="20sp"
android:textColor="@color/colorAccent"
android:visibility="visible"
android:background="@color/colorPrimary"/>
高级UI组件
| 组件 | Java Class |
|---|---|
| 滑动组件 | ScrollView |
| 列表组件 | ListView/Recycler View |
| 下拉刷新组件 | PullToRefresh |
| 分页组件 | ViewPager |
| 布局组件 | LinearLayout/RealtiveLayout/... |
常规UI组件大多是View,高级UI组件大多是ViewGroup,比常规UI组件有多的功能。
总结
本次课程系统性地讲述了UI组件的相关知识,对什么是UI组件、常规UI组件、高级UI组件等都有所讲解,而且讲述了UI组件的一些属性以及使用UI组件的代码方法。UI组件是Android可视化当中必不可少的一部分,用户使用一个软件时,最直观的感受便是UI组件;同时,用户也通过UI组件与我们的程序进行交互,并得到自己想要的结果。因此,UI组建的学习是安卓客户端开发学习中必不可少的一部分,具有非常强的重要性。通过本次课的学习,我收获颇多。