day42 design、CardView的使用

依赖:implementation ‘com.android.support:design:28.0.0’

  1. MaterialButton:
    MaterialButton组件继承于Button,因此可以使用Button的大部分属性,可以更便捷的设置按钮圆角、边框、图标等属性
    android:textAppearance:设置文字的外观
属性介绍
app:backgroundTint按钮背景着色
app:backgroundTintMode按钮背景的着色模式
app:icon按钮图标(在文字左边,不能设置位置)
app:iconSizeapp:iconSize
app:iconPadding按钮图标的内边距
app:iconTint按钮图标着色
app:iconTintMode按钮图标的着色模式
app:additionalPaddingStartForIcon按钮图标的左内边距
app:additionalPaddingEndForIcon按钮图标的右内边距
app:strokeColor按钮边框颜色
app:strokeWidth按钮边框宽度
app:cornerRadius按钮圆角角度
app:rippleColor按钮点击水波纹效果颜色
  1. FloatingActionButton:
    界面浮动的标签,一般用于页面关键功能入口
属性介绍
fabSize定义FloatingActionButton的大小。auto(大) mini(小)normal(中)
elevation普通状态下的阴影深度
pressedTranslationZ按下时的阴影深度
backgroundTint默认展示的背景颜色
rippleColor按下时的颜色(5.0以后为水波纹的颜色)
layout_anchor定位其他控件,和其他控件边界相交
layout_anchorGravity和layout_anchor属性联用,在其他控件的相对位置
useCompatPadding设置内边距
borderWidth边框宽度(使用的比较少,效果也不好看)
  1. NavigationView:
    NavigationView用来实现侧滑导航的布局,必须与DrawerLayout组合使用
    app:headerLayout="@layout/header_layout"表示引用一个头布局文件,这个头就是我们在上面看到的那个背景图片,包括背景图片上面的显示用户名的控件等等
    app:menu="@menu/main"表示引用一个menu作为下面的点击项

head

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="120dp"
        android:src="@mipmap/ic_launcher"/>
</LinearLayout>

menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/item1" android:title="呵呵"/>
    <item android:id="@+id/item2" android:title="哈哈"/>
    <item android:id="@+id/item3" android:title="呵呵"/>
    <item android:id="@+id/item4" android:title="嘿嘿"/>
    <item android:id="@+id/item5" android:title="呵呵"/>
</menu>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
    >

<android.support.v4.widget.DrawerLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/drawer">

    <Button
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/content_btn"
        android:text="开关抽屉" />

    <android.support.design.widget.NavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:headerLayout="@layout/layout_head"
        app:menu="@menu/menu_navigation"
        app:itemIconTint="@null"
        android:layout_gravity="left" />

</android.support.v4.widget.DrawerLayout>

</LinearLayout>

  1. CoordinatorLayout+
    CollapsingToolbarLayout+ AppBarLayout:

AppBarLayout是一个垂直的 LinearLayout;

CollapsingToolbarLayout
是不能独立存在的,它必须只能作为AppBarLayout 的子布局来使用

app:contentScrim 指定布局内部未展开时的背景颜色

app:collapsedTitleTextAppearance 指定未展开时的标题文字字体

app:collapsedTitleTextColor 指定未展开时的标题文字颜色

app:collapsedTitleGravity 指定未展开时的标题文字对齐方式

app:expandedTitleTextAppearance 指定展开后的标题文字字体

app:expandedTitleTextColor 指定展开后的标题文字颜色

app:expandedTitleGravity 指定展开后的标题文字对齐方式

app:expandedTitleMargin 指定展开后的标题四周间距

在CollapsingToolbarLayout中配置不同layout_scrollFlags属性,会产生不同的效果

设置为scroll
CollapsingToolbarLayout随着手势一起滑动

设置为enterAlways下滑时CollapsingToolbarLayout先进入

设置为enterAlwaysCollapsed下滑时CollapsingToolbarLayout先进入但只显示Toolbar。

设置为exitUntilCollapsed
CollapsingToolbarLayout随着手势一起滑动到只显示Toolbar。

设置为snap
CollapsingToolbarLayout会根据手势自动滑入滑出

app:layout_behavior="@string/appbar_scrolling_view_behavior",他的作用是让使用这个属性的View在appbar下面滚动

ka一半

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.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">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@mipmap/ic_launcher"/>
            <android.support.v7.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="80dp">

            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="50sp"
            android:text="ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa"
            />
    </android.support.v4.widget.NestedScrollView>

</android.support.design.widget.CoordinatorLayout>

卡toolbar

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.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">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="180dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:contentScrim="#f0f0f0">

            <com.youth.banner.Banner
                android:id="@+id/home_banner"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>

            <android.support.v7.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:background="#002196F3"
                app:layout_collapseMode="pin">

            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa
ldsafjkdajfldsajfdlsa;jfdsa"
            android:textSize="50sp" />
    </android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>

CardView

CardView是一个继承FrameLayout的View。用于布局的圆角、阴影等效果。基本使用只要知道CardView一些常用属性即可

依赖:implementation’com.android.support:cardview-v7:28.0.0’

cardElevation:阴影的大小

cardElevation:阴影最大高度

cardBackgroundColor:卡片的背景色

cardCornerRadius:卡片的圆角大小

contentPadding:卡片内容于边距的间隔

contentPaddingBottom:卡片内容与底部的边距

contentPaddingTop:卡片内容与顶部的边距

contentPaddingLeft:卡片内容与左边的边距

contentPaddingRight:卡片内容与右边的边距

contentPaddingStart:卡片内容于边距的间隔起始

contentPaddingEnd:卡片内容于边距的间隔终止

cardUseCompatPadding:设置内边距,V21+的版本和之前的版本仍旧具有一样的计算方式

cardPreventConrerOverlap:在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值