安卓学习控件篇

安卓学习控件篇

TextView(文字展示)

基础属性:

  1. layout_width: 组件的宽度
  2. layout_height: 组件的高度
  3. id: 为TextView 设置一个组件ID
  4. text:设置显示的文本内容
  5. textColor:设置字体颜色
  6. textStyle:设置字体风格:正常(norrmal),bold(加粗),italic(斜体)
  7. textSize:字体大小,单位一般是用SP
  8. background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
  9. gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ugigTujt-1650807933599)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220423100342956.png)]

带阴影的TextView

  1. android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用
  2. android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0
  3. android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
  4. android:shadowDy:设置阴影在垂直方向的偏移,就是水平方向阴影开始的纵坐标位置

跑马灯效果的TextView

  1. android:singleLine:内容单行显示
  2. android:focusable:是否可以获取焦点
  3. android:focusableInTounchMode:用于控制视图在触摸模式下是否可以聚焦
  4. android:ellipsize:在哪里省略文本
  5. android:marqueeRepeatLimit:字幕动画重复的次数

Button(按钮)

StateListDrawable

StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点我们只需要将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. 点击事件

    //点击事件
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Log.e(TAG, "onClick: " );
                }
            });
    
  2. 长按事件

            // 长按事件
            btn.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View view) {
                    Log.e(TAG, "onLongClick: ");
                    return false;
                }
            });
    
  3. 触摸事件

        //触摸事件
        btn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                Log.e(TAG, "onTouch: "+motionEvent.getAction());
                return false;
            }
        });

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zRfD01Q1-1650807933601)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220423112406275.png)]

EditText(输入框)

主要属性

  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 设置图片缩放类型

    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的部分作裁剪处理
  3. android:maxHeight 最大高度

  4. android:maxWidth 最大宽度

  5. android:adjustViewBounds调整View的界限

ProgressBar(进度条)

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

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

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

通知重要程度设置,NotificationManager类中
  1. IMPORTANCE_NONE 关闭通知

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

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

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

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

常见方法说明
  1. setContentTitle(String string)设置标题
  2. setContentText(String string) 设置文本内容
  3. setSmallIcon(int icon)设置小图标
  4. setLargeIcon(Bitmap icon)设置通知的大图标
  5. setColor(int argb)设置小图标的颜色
  6. setContentIntent(PendingIntent intent)设置点击通知后自动清除通知
  7. setAutoCancel(boolean boolean) 设置点击通知后自动清除通知
  8. setWhen(long when)设置通知被创建的时间

ToolBar(导航栏)

  1. android:layout_width=“match_parent”
  2. androld:layout_helght=“”?attr/actionBarSize""
  3. androld:background=“#ffff00”
  4. app:navigationlcon=“@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”

AlertDialog (弹出框)

  1. AlertDialog.Builder builder=new AlertDialog.Builder(context);构建Dialog的各种参数
  2. Builder.setIcon(int iconId);添加ICON
  3. Builder.setTitle(CharSequence title);添加标题
  4. Builder.setMessage(CharSequence message);添加消息
  5. Builder.setView(View view);设置自定义布局
  6. Builder.create(); 创建Dialog
  7. Builder.show(); 显示对话框
  8. setPositiveButton 确定按钮
  9. setNegativeButton 取消按钮
  10. setNeutralButton 中间按钮

PopupWindow(子窗口)

  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外面的触摸使能

以上只是部分常用控件,目前学习中,不喜勿喷。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OUO~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值