2021-02-19

2.1.1简介
在Android应用中,UI(User Interface)界面是人与手机之间数据传递,交互信息的重要媒介和对话接口。

Android程序开发最重要的一个环节就是界面处理,界面的美观度直接影响用户的第一印象,因此开发一个整齐、美观的界面是至关重要的。

Android应用的界面是由view和view Group对象构建而成的。view类是Android系统平台上用户界面表示的基本单元,view的一些子类被系统称为widgets(工具),它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。

View Group是view的一个扩展,它可以容纳多个view,通过View Group类可以创建有联系的子View组成的复合控件。
视图本身就可以处理发生在该视图上的事件

问:谁是事件源?
答:组件

问:谁是事件监听器?
答:第三方、当前类、匿名内部类

2.2.1使用UI事件
Android提供了很多不同类型的事件监听器接口

View.OnClickListener:onClick()//单击事件
View.OnLongClickListener:onLongClick()//长按事件
View.OnTouchListener:onTouch()//拖拽事件
View.OnCreateContextMenuListener:onCreateContextMenu()//创建菜单事件
View.OnFocusChangeListener:onFocusChange()//焦点事件
View.OnKeyListener:onKey()//键盘事件
View.setOn……Listener(listener)//Android给视图添加事件的方法

2.3.1layout下语句的含义

<?xml version="1.0" encoding="utf-8"?>//xml的版本和编码形式
<androidx.coodinatorlayout.Widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res_auto" xmlns:tools="http://schemas.android.com/tools"//约束文件
android:layout_width="match_parent"android:layout_height="match_parent"//基本属性性质,设置组件大小
tools:context="MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">//导航栏
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr|actionBarSize"
android:background="?attr|colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>//标题栏
</com.google.android.material.appbar.AppBarLayout>//样式
<include layout="@layout/content_main"/>//包含另一个界面
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom/end"
android:layout_margin="16dp"
app:src Compat="@android:drawable/ic_dialog_email"/>//创建邮件
</androidx.coordinatorlayout.widget.CoordinatorLayout>

width和height的属性值:
match_parent:布满整个页面
wrap_content:根据组件大小自动
具体数值

获取组件:变量名=findViewById(R.id.id名);
给组件加事件:变量名.setOnClickListener(new MyListener())

2.5.1运行结果开头符号代表日志级别
I/用户级别
W/警告级别
D/信息级别
E/错误级别

2.6.1Android布局如下
LinearLayout:线性布局(常用布局方式)
RelativeLayout:相对布局
TableLayout:表格布局
GridLayout:网格布局
FrameLayout:模板布局
AbsoluteLayout:绝对布局

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值