zoukankan      html  css  js  c++  java
  • Material Designer的低版本兼容实现(七)—— Rectange Button

    矩形按钮是我们很常用的控件,让其拥有5.0动效必须自定义控件。本文讲解的控件是参考:

    https://github.com/shark0017/MaterialDesignLibrary

    一、放入布局文件

     我们在添加这view的时候需要写一个命名空间

    xmlns:materialdesign="http://schemas.android.com/apk/res-auto

    <com.gc.materialdesign.views.ButtonRectangle
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content""/>

    这个就是最原始的控件了,我们参照了官方控件的尺寸,定义了最小的宽高是:w=80,h=36

    这个控件在eclipse中是看不到具体样子的,我虽然已经尽可能把代码写的较为可视化了,但由于是由lib导入的关系,所以还是没办进行编译器中实时展示。不过真正运行出来的时候样子是完全正常的啦。下面来看看实际运行出来的样子。

    二、在布局文件中进行设置各种属性

    默认的属性值

    android:background="#1E88E5"  设置按钮的背景色,默认是蓝色

    android:text=""  设置按钮上的文字,默认无文字

    android:textSize="12sp"  设置按钮上文字的大小,默认12(反正不是12就是14,总之就是textView的默认文字大小)

    android:textColor="#ffffff"  设置按钮文字的颜色,默认是白色

    app:rippleColor="#xxxxxx"  设置按钮涟漪的颜色,默认是根据背景色来动态设置的。如果你设定了涟漪颜色,那么就不会根据背景色来动态产生涟漪颜色。

    app:rippleSpeed="5.5f"   涟漪的扩散速度5.5f,数组越大越快。你可以看见如果速度为2的话扩散的很慢

    app:clickAfterRipple="true"  是否在涟漪扩散完后再触发点击事件,默认是涟漪消失后才出发点击事件

    三、通过代码进行设定各种属性值

    package com.example.hhh;
    
    import android.os.Bundle;
    import android.support.v7.app.ActionBarActivity;
    import android.view.View;
    import android.widget.SeekBar;
    import android.widget.SeekBar.OnSeekBarChangeListener;
    import android.widget.Toast;
    
    import com.gc.materialdesign.views.ButtonRectangle;
    
    public class ButtonRectangleTest extends ActionBarActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.button_rectangle);
            
            ButtonRectangle btn = (ButtonRectangle)findViewById(R.id.button);
    
            btn.setBackgroundColor(getResources().getColor(R.color.orange));// 设定按钮背景
    
            btn.setBackgroundColor(0xffff0000);// 设定按钮背景
    
            btn.setText("代码:setText");// 自定义文字
            
            btn.setTextSize(30);// 自定义文字大小
            
            btn05.setTextColor(0xffffc641);// 自定义文字颜色
            
            btn06.setTextColor(getResources().getColor(R.color.red));// 通过资源定义文字颜色
            
            btn07.setRippleColor(0xffffc641);// 设置涟漪颜色
            
            btn08.setRippleColor(getResources().getColor(R.color.orange));// 通过资源设定涟漪颜色
            
            btn09.setRippleSpeed(2);// 涟漪扩散的速度
            
            btn10.setClickAfterRipple(false);// 点击后立刻响应click事件,不管涟漪是否扩散完毕
        }
    }
  • 相关阅读:
    restful风格 webapi 发送put delete请求 405 错误
    mysql 连接数据库间接性连接异常
    .net core 发布到centos The configuration file 'appsettings.json' was not found and is not optional. 找不到文件
    .net list<int>、int[]参数类型 前端调用传参方法
    long? long 可空类型转换
    EF 多对多循环引用序列化失败 解决办法
    HTML5学习之HTML标记类型
    电脑高手常用的5个按钮!(太有用了!留下了!)
    final关键字用法总结
    Java程序员面试失败的5大原因 //转自:极客网
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4135993.html
Copyright © 2011-2022 走看看