zoukankan      html  css  js  c++  java
  • 《Android进阶之光》--Material Design

    接上篇《Android进阶之光》--Android新特性

    No1:

    组件:

    1)底部工作条-Bottom Sheets

    2)卡片-Cards

    3)提示框-Dialogs

    4)菜单-Menus

    5)选择器

    6)滑块控件-Sliders

    7)进度和动态

    8)Snackbar(底部可操作弹出框)与Toast

    9)Tab

    No2:

    Snackbar

    包含了文字信息和一个可选的操作按钮

    Snackbar.make(activity_main,"标题",Snackbar.LENGTH_LONG)
        .setAction("点击事件",new View.OnClickListener(){
        @Override
        public void onClick(View v){
            Toast.makeText(
                MainActivity.this,
                "Toast",
                Toast.LENGTH_LONG).show();
        }
    }).setDuration(Snackbar.LENGTH_LONG).show();

    make第一个参数是View类型的参数,是Snackbar的父控件

    No3:

    TextInputLayout输入框容器(hint上浮,错误提示下方显示)

    效果图

    <android.support.design.widget.TextInputLayout
        android:id="@+id/t1_username"
        android:layout_width="match_parent"
        android:layout_height="warp_content"
        android:layout_centerInParent="true">
        <EditText
            android:id="@+id/et_username"
            android:layout_width="match_parent"
            android:layout_height="warp_content"
            android:hint="username"
            android:maxLength="25"
            android:maxLines="1"/>
    </android.support.design.widget.TextInputLayout>
    private void login(){
        String username = t1_username.getEditText().getText().toString();
        String password = t1_password.getEditText().getText().toString();
        if(!validateUserName(username)){
            t1_username.setErrorEnabled(true);
            t1_username.setError("请输入正确的邮箱地址");
        }else if(!validatePassword(password)){
            t1_password.setErrorEnabled(true);
            t1_password.setError("密码数字过少");
        }else{
            t1_username.setErrorEnabled(false);
            t1_password.setErrorEnabled(false);
            Toast.makeText(getApplicationContext(),"登陆成功",Toast.LENGTH_SHORT).show();
        }
    }

    No4:

    自定义Bahavior

    CoordinatorLayout中最经典的设计就是Bahavior,app:layout_behavior="@string/appbar_scrolling_view_behavior"的值对应着的是AppBarLayout.ScrollingViewBehavior。

    自定义Behavior分两种方法:

    1)定义的View监听CoordinatorLayout里的滑动状态。注意重写onStartNestedScroll()和onNestedPreScroll()方法

    2)定义的View监听另一个View的状态变化。注意重写layoutDependsOn()和onDependentViewChanged()方法

    然后在联动的布局中加入

    app:layout_behavior="com.example.liuwangshu.mooncoordinatorlayout.FooterBehavior"即可

  • 相关阅读:
    selenium 清空文本几种方法
    python之Chrome 启动参数
    python, selenium 之屏蔽提示框
    myeclipse 安装flex插件后变为中文 修改配置文件切换到英文界面
    用ant编译打包时 警告:编码 GBK 的不可映射字符
    redhat5.1上安装oracle 10.2g客户端及配置使用
    tomcat 1)启动时不识别执行启动命令 2)启动报错 3)关闭不了,用myEclipse启动时显示jvm_bind,端口占用
    virtualBox redhat 共享文件夹 安装增强功能
    ant 内存空间不足
    Linux (ubuntu和redhat) 常用命令及细节
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8503096.html
Copyright © 2011-2022 走看看