Android基本组件学习

目录

TextView

基本属性

阴影属性

实现走马灯效果

Button

StateListDrawable

Button事件处理

EditText

主要属性

ImageView

主要属性

scaleType缩放类型属性介绍

ProgressBar 进度条

常用属性

Notification 通知

Notification与NotificationManager

创建一个NotificationManager

使用Builder构造器来创建Notification对象

NotificationChannel

通知重要程度设置,NotificationManager类中

Notification 常见方法说明

ToolBar

AlertDialog

常用方法

andriod颜色八位 #FFFFFFFF 前两位表示透明度 三四位表示红色程度 五六位表示绿色程度 最后两位表示蓝色程度

TextView

基本属性

  1. layout_width:组件的宽度

  2. layout_height:组件的高度

  3. id:为TextView设置一个组件id

  4. text:设置显示的文本内容

  5. textColor:设置字体颜色

  6. textStyle:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)

  7. textSize:字体大小,单位一般是用sp

  8. background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片

  9. gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等

阴影属性

  1. android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用

  2. android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0

  3. android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置

  4. android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置

实现走马灯效果

  1. android:singleLine:内容单行显示

  2. android:focusable:是否可以获取焦点

  3. android:focusableInTouchMode:用于控制视图在触摸模式下是否可以聚焦

  4. android:ellipsize:在哪里省略文本

  5. android:marqueeRepeatLimit:字幕动画重复的次数

  6. android:clickable:设置是否可以点击 如果为true 点击后自动获取到了焦点走马灯效果就会实现

  7. 自定义一个textView修改里面的isFocused函数 返回true 运行即可实现走马灯效果

Button

StateListDrawable

StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关 键节点 < selector >,我们只需要将Button的background属性设置为该drawable资源即可轻松 实现,按下 按钮时不同的按钮颜色或背景

  1. drawable:引用的Drawable位图

  2. state_focused:是否获得焦点

  3. state_pressed:控件是否被按下

  4. state_enabled:控件是否可用

  5. state_selected:控件是否被选择,针对有滚轮的情况

  6. state_checked:控件是否被勾选

  7. state_checkable:控件可否被勾选,eg:checkbox

  8. state_window_focused:是否获得窗口焦点

  9. state_active:控件是否处于活动状态,eg:slidingTab

  10. state_single:控件包含多个子控件时,确定是否只显示一个子控件

  11. state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态

  12. state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态

  13. state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态

Button事件处理

  1. 点击事件

  2. 长按事件

  3. 触摸事件

    主要有这三个属性

    0 按下 1松手 2 左右移动 可以通过motionEvent.getAction()来获取值

EditText

继承自TextView TextView的属性他基本上也有

主要属性

  1. android:hint 输入提示

  2. android:textColorHint 输入提示文字的颜色

  3. android:inputType 输入类型

  4. android:drawableXxxx 在输入框的指定方位添加图片

  5. android:drawablePadding 设置图片与输入内容的间距

  6. android:paddingXxxx 设置内容与边框的间距

  7. android:background 背景

ImageView

主要属性

  1. android:src 设置图片资源

  2. android:scaleType 设置图片缩放类型

  3. android:maxHeight 最大高度

  4. android:maxWidth 最大宽度

  5. android:adjustViewBounds 可以调整View的界限

scaleType缩放类型属性介绍

  1. fitStart 保持宽高比缩放图片,直到较长的边与Image的边长相等,缩放完成后将图片放在ImageView的左上角

  2. fitCenter 默认值,同上,缩放后放于中间

  3. fitEnd 同上,缩放后放于右下角

  4. fitXY 对图像的横纵方向进行独立缩放,使得该图片完全适应ImageView,但是图片的宽高比可能会发生改变

  5. center 保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。

  6. centerCrop 保持宽高比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全

  7. centerInside 保持宽高比缩放图片,直到ImageView能够完全地显示图片

  8. matrix 不改变原图的大小,从ImageView的左上角开始绘制原图, 原图超过ImageView的部分作裁剪处理

ProgressBar 进度条

常用属性

  1. android:max:进度条的最大值

  2. android:progress:进度条已完成进度值

  3. android:indeterminate:如果设置成true,则进度条不精确显示进度

  4. style= "?android:attr/progressBarStyleHorizontal" 或"@style/Widget.AppCompat.ProgressBar.Horizontal"水平进度

Notification 通知

Notification与NotificationManager

创建一个NotificationManager

NotificationManager类是一个通知管理器类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以 一般并不直接实例化这个对象。在Activity中,可以使用Activity.getSystemService(String)方法获取 NotificationManager对象,Activity.getSystemService(String)方法可以通过Android系统级服务的句柄,返回对应的对象。在这里需要返回NotificationManager,所以直接传递Context.NOTIFICATION_SERVICE即可。

使用Builder构造器来创建Notification对象

使用NotificationCompat类的Builder构造器来创建Notification对象,可以保证程序在所有的版本上都 能正常工作。Android8.0新增了通知渠道这个概念,如果没有设置,则通知无法在Android8.0的机器上显示

NotificationChannel

通知渠道:Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定 义的渠道。

通知重要程度设置,NotificationManager类中

  • MPORTANCE_NONE 关闭通知

  • IMPORTANCE_MIN 开启通知,不会弹出,但没有提示音,状态栏中无显示

  • IMPORTANCE_LOW 开启通知,不会弹出,不发出提示音,状态栏中显示

  • IMPORTANCE_DEFAULT 开启通知,不会弹出,发出提示音,状态栏中显示

  • IMPORTANCE_HIGH 开启通知,会弹出,发出提示音,状态栏中显示

Notification 常见方法说明

  1. setContentTitle(String string) 设置标题

  2. setContentText(String string) 设置文本内容

  3. setSmallIcon(int icon) 设置小图标 这个小图标不能有颜色 应该只使用alpha图层 来进行绘制,而不应该包括RGB图层

  4. setLargeIcon(Bitmap icon) 设置通知的大图标

  5. setColor(int argb) 设置小图标的颜色

  6. setContentIntent(PendingIntent intent) 设置点击通知后的跳转意图 这里要注意新建activity的时候要将它加入主类中不然无法调用

  7. setAutoCancel(boolean boolean) 设置点击通知后自动清除通知

  8. setWhen(long when) 设置通知被创建的时间

注意:Android从5.0系统开始,对于通知栏图标的设计进行了修改。 现在Google要求,所有应用程序的通知栏图标,应该只使用alpha图层 来进行绘制,而不应该包括RGB图层。

ToolBar

常用属性详解

要使用自己写的toolbar 先去themes.xml中把toolbar改掉

Theme.MaterialComponents.DayNight.NoActionBar

  1. android:layout_width= "match_parent"

  2. android:layout_height= "?attr/actionBarSize"

  3. android:background= "#ffff00"

  4. app:navigationIcon= "@drawable/ic_baseline_arrow_back_24"

  5. app:title= "主标题"

  6. app:titleTextColor= "#ff0000"

  7. app:titleMarginStart= "90dp" 标题距离左边的长度

  8. app:subtitle= "子标题"

  9. app:subtitleTextColor= "#00ffff"

  10. app:logo= "@mipmap/ic_launcher"

    如果要实现标题文字居中,可以在toolbar里面加一个属性为center的textview

    AlertDialog

    实现方式

    AlertDialog.Builder builder = new AlertDialog.Builder(context);构建Dialog的各种参数

    Builder.setIcon(int iconId); 添加ICON

    Builder.setTitle(CharSequence title); 添加标题 Builder.setMessage(CharSequence message); 添加消息 Builder.setView(View view); 设置自定义布局

    Builder.create(); 创建

    Dialog Builder.show(); 显示对话框

    setPositiveButton 确定按钮 setNegativeButton 取消按钮 setNeutralButton 中间按钮

    注意create和show一定要在最后面调用

构造函数有四种 分别对应四个参数,可以先设置好也可以之后再去调用函数设置

常用方法

  1. setContentView(View contentView):设置PopupWindow显示的View

  2. showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移

  3. showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移

  4. setFocusable(boolean focusable) 设置是否获取焦点

  5. setBackgroundDrawable(Drawable background) 设置背景

  6. dismiss() 关闭弹窗

  7. setAnimationStyle(int animationStyle) 设置加载动画

  8. setTouchable(boolean touchable) 设置触摸使能

  9. setOutsideTouchable(boolean touchable) 设置PopupWindow外面的触摸使

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值