Android 常用组件

TextView

TextView 基础属性

layout_width:组件宽度layout_height:组件高度id:为 TextView 组件设置一个 idtext:设置显示文本的内容textColor:设置字体颜色textStyle:设置字体风格:三种可选值:normal, bold, italictextSize:字体大小,单位一般是用 spbackground:控件的背景颜色,可以理解为填充整个控件颜色,可以是图片gravity:设置控件中内容对齐方向

带阴影的TextView

shadowColor:设置阴影的颜色值shadowRadius:设置阴影的模糊度shadowDx:设置水平偏移shadowDy:设置垂直偏移

跑马灯效果TextView

singleLine:设置内容单行显示focusable:是否可以获得焦点focusableInTouchMode:在触摸模式下是否可以获得焦点ellipsize:在哪里省略文本marqueeRepeatLimit:字幕动画重复次数
1
2
3
4
5
6
7
8
9
10
11
12
13
<TextView
android:id="@+id/tv_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="@string/tv_one">

<requestFocus />
</TextView>

Button

继承 TextView

三层

foreground:前景色、前景图片text:文字内容background:背景色、背景图片

事件处理

点击事件:onClickListener,抬起时触发长按事件:onLongClickListener,按下指定时长后触发触摸事件:onTouchListener按下(ACTION_DOWN, 0)抬起(ACTION_UP, 1)移动(ACTION_MOVE, 2)

StateListDrawable

StateListDrawable 是 Drawable 资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点 <selector>,我们只需要将 Button 的 background 属性设置为该 drawable 资源即可

常用属性

drawable:引用的 Drawable 资源state_focused:是否获得焦点state_pressed:控件是否被按下state_enabled:控件是否可用state_selected:控件是够被选择,针对有滚动的情况state_checked:控件是否被勾选state_checkable:控件可否被勾选state_window_focused:是否获得窗口焦点state_active:控件是否处于活跃状态state_single:控件包含多个子控件时,确定是否只显示一个控件state_first:控件包含多个子控件时,确定第一个控件是否处于显示状态state_middle:控件包含多个子控件时,确定中间一个控件是否处于显示状态state_last:控件包含多个子控件时,确定最后一个控件是否处于显示状态

EditText

继承 TextView

常用属性

hint:输入提示textColorHint:输入提示文字颜色inputType:输入类型drawableXxxx:在输入框的指定方位添加图片drawablePadding:设置图片与文字间距padding:设置内容与边框边距background:背景色

ImageView

常用属性

src:设置图片资源scaleType:设置图片缩放类型maxHeight:最大高度maxWidth:最大宽度adjustViewBounds:调整View的界限

缩放类型

fitStart:保持宽高比缩放图片,缩放完成后在 ImageView 的左上角fitCenter:默认,保持宽高比缩放图片,缩放后放于中间fitEnd:保持宽高比缩放图片,缩放后在 ImageView 的右下角 fitXY:对图像的纵横方向进行独立缩放,使得图片完全适应 ImageView,但是图片宽高比可能会发生变化center:保持原图大小,显示在 ImageView 中心,当原图大于 ImageView 的 size,会进行适当裁剪centerCrop:保持宽高比缩放图片,直到完全覆盖 ImageView,可能会出现图片显示的不完全centerInside:保持宽高比缩放图片,直到 ImageView 能够完全的显示图片matrix:不改变原图大小,从 ImageView 左上角开始绘制原图,超出部分做裁剪处理

ProgressBar

常用属性

max:进度条的最大值progress:进度条已完成进度indeterminate:如果设置成 true,则进度条不精确显示进度style=”?android:attr/progressBarStyleHorizontal”:水平进度条

Notification

NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);NotificationChannel(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)NotificationCompat.Builder()NotificationPendingIntent

通知重要程度设置

IMPORTANCE_NONE:关闭通知IMPORTANCE_MIN:开启通知,不会弹出,没有提示音,状态栏无显示IMPORTANCE_LOW:开启通知,不会弹出,没有提示音,状态栏显示IMPORTANCE_DEFAULT:开启通知,不会弹出,有提示音,状态栏显示IMPORTANCE_HIGH:开启通知,会弹出,有提示音,状态栏显示

常用属性

.setContentTitle() 标题.setContentText() 内容.setSmallIcon() 小图片 使用 alpha 图层.setLargeIcon() 大图片 Bitmap.setColor() 小图标颜色 Color.parseColor(“#ff0000”).setContentIntent() 跳转意图 PendingIntent.setAutoCancel() 自动清除通知.setWhen() 通知创建时间

Toolbar

常用属性

idlayout_widthlayout_height=”?attr/actionBarSize”titletitleMarginStarttitleTextColorsubtitlesubtitleTextColorbackgroundlogonavigationIconlayout_height=”wrap_content”android:layout_gravity=”center”

AlertDialog

常用属性

.setIcon().setTitle().setMessage().setView() 自定义布局.setPositiveButton().setNegativeButton().setNeutralButton()contentViewwidthheightfocusableshowAsDropDowndismisstouchableoutsideTouchable
1
2
3
View popupView = getLayoutInflater().inflate(R.layout.popup_view, null);
PopupWindow popupWindow = new PopupWindow(popupView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);
popupWindow.showAsDropDown(view);

文章来源:

Author:Honng
link:http://yonghong.tech/2021/07/android-widget/