• Android基础二:常见的几种组件


    关注我,会持续发布关于Android学习的内容!

    大学生交流群:728910358


    前言

    本节我们来学习安卓(Android)的几种常用的组件,包括MaterialButton(按钮),MaterialButtonToggleGroup(按钮组布局),TextView(文本控件),ImageView(图片控件)的一些基础组件的使用,快来一起学习吧。


    一、MaterialButton

    MaterialButton Google SDK28 推出的新控件,当遇到按钮需要 圆角 、 或者描边 等,就不必使用 xml 文件或者 Github 上找第三方库实现。
    效果预览

     依赖注入

    com.google.android.material:material:1.3.0

     继承关系

    1. java.lang.Object
    2. ↳android.view.View
    3. ↳android.widget.TextView
    4. ↳android.widget.Button
    5. ↳androidx.appcompat.widget.AppCompatButton
    6. ↳com.google.android.material.button.MaterialButton
    MaterialButton 继承 AppCompatButton, 所以它拥有 AppCompatButton 所有的特性,且 在其基础上做了一些扩展,如圆角、描边、前置和后置 icon (支持设置 Size Tint Padding 、 Gravity 等),还支持按压水波纹并且自定义颜色。
    关键属性

     注意事项

    1、不可以使用 android:background 设置按钮背景,会破坏 MaterialButton 本身的 绘制,而设置背景则推荐使用 app:backgroundTint
    2、 MaterialButton 创建后,按钮实际长度并不是设定值,因为它上下有留空,可以使用
    android:insetBottom="0dp" android:insetTop="0dp" 去除
    3、 去除阴影
    MD 控件默认有阴影效果,但是有时候我们并不想要按钮有阴影,那么这时候可以指定 style
    style="@style/Widget.MaterialComponents.Button.UnelevatedButton" 这样就能去掉阴影,让视图看起来扁平化

    二、MaterialButtonToggleGroup

    效果预览

     

    继承关系 

    1. java.lang.Object
    2. ↳android.view.View
    3. ↳android.view.ViewGroup
    4. ↳android.widget.LinearLayout
    5. com.google.android.material.button.MaterialButtonToggleGroup
    类似一个 LinearLayout ,但只能添加 MaterialButton ,只有第一个子元素的最 左边角和最后一个子元素的最右边角才能保留它们的形状外观圆角大小,类似于 iOS 中的 SegmentedControl , 用户可以从组中选择一个或多个选项。
    公开属性

    tab切换监听

    1. MaterialButtonToggleGroup materialButtonToggleGroup =
    2. findViewById(R.id.toggleGroup);
    3. materialButtonToggleGroup.addOnButtonCheckedListener(new
    4. MaterialButtonToggleGroup.OnButtonCheckedListener() {
    5. @Override
    6. public void onButtonChecked(MaterialButtonToggleGroup group, int
    7. checkedId, boolean isChecked) {
    8. Toast.makeText(MainActivity.this, "ID:" + checkedId + ",
    9. checked:" + isChecked, Toast.LENGTH_SHORT).show();
    10. }
    11. });

    三、TextView 文本组件

    常用属性

     效果演示

    1. <TextView
    2. android:layout_width="500dp"
    3. android:layout_height="wrap_content"
    4. android:layout_marginTop="50dp"
    5. android:background="@color/purple_700"
    6. android:drawableLeft="@drawable/ic_notifications_black_24dp"
    7. android:drawableTop="@drawable/ic_dashboard_black_24dp"
    8. android:drawableRight="@drawable/abc_vector_test"
    9. android:drawableBottom="@drawable/ic_home_black_24dp"
    10. android:drawableTint="@color/white"
    11. android:ellipsize="marquee"
    12. android:gravity="center"
    13. android:singleLine="true"
    14. android:text="11111111111111111111111111111111111111111111111111111111111
    15. 1111111111111111111111111111111"
    16. android:textColor="@color/white"
    17. android:textSize="16sp"
    18. android:textStyle="bold" />

    四、ImageView控件

    常见属性

     

     

    很多人都觉得 fitCenter centerInside 没有区别,根据上面的效果图来分
    析,其实是有区别的。
    fitCenter : 是将原图等比例放大或缩小,使原图的高度等于 ImageView 的高
    度,并居中显示 centerInside :在原图的原本长宽大于 ImageView 的长宽时,则缩小原图,
    效果同 fitCenter ;在原图的长宽小于 ImageView 的长宽时,则不进行任何处
    理,居中显示,效果同 center

    总结

    本章大概介绍了几种基本组件的使用,学完之后赶紧用起来啊。

  • 相关阅读:
    海藻酸盐壳聚糖水凝胶微球载体/PLGA/nHA支架复合rhBMP-2壳聚糖纳米微球水凝胶的制备
    数论简单问题
    【Spring框架】Spring监听器的简介和基本使用
    Spring Cloud学习(七)【Docker 容器】
    【APUE】文件系统 — 目录和文件
    Unity优化之Drawcall
    【n子棋】
    作业day6
    5G创新突破 | 紫光展锐5G芯片全球首发R17 NR广播端到端业务演示
    [GYCTF2020]Ezsqli
  • 原文地址:https://blog.csdn.net/m0_58941767/article/details/128004641