Android学习笔记--design包下的两个控件

今天学习了design包下的两个控件,记录一下,首先需要我们依赖

1     compile ‘com.android.support:design:25.0.0‘

之后在XML文件中就可以使用了

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     tools:context="com.wuxianedu.alianxi.MainActivity"
 7     xmlns:app="http://schemas.android.com/apk/res-auto">
 8
 9     <android.support.design.widget.FloatingActionButton
10         android:id="@+id/button" android:layout_centerInParent="true"
11         android:layout_width="wrap_content" app:rippleColor="#FF4F4F"
12         android:layout_height="wrap_content"  app:fabSize="mini"
13         app:elevation="40dp" app:pressedTranslationZ="50dp"
14         android:src="@mipmap/ic_launcher"/>
15 </RelativeLayout>

    属性说明

  1. app:backgroundTint - 设置背景颜色。
  2. app:rippleColor - 设置点击时的背景颜色。
  3. <span style="color:#cc0000;">app:borderWidth - 该属性如果不设置0dp,那么在4.1的sdk上FAB会显示为正方形,而且在5.0以后的sdk没有阴影效果。所以设置为borderWidth="0dp"。</span>
  4. app:elevation - 默认状态下阴影大小。
  5. app:pressedTranslationZ - 点击时的阴影大小。
  6. app:fabSize - 设置大小,该属性有两个值,分别为normal和mini,对应的大小分别为56dp和40dp。
  7. src - 设置图标,Google建议符合Design设计的该图标大小为24dp。
  8. app:layout_anchor - 设置锚点,即以哪个控件为参照点设置位置。
  9. app:layout_anchorGravity - 设置相对锚点的位置,值有 bottom、center、right、left、top等。

在XML文件中设置好了的效果图为

下面在JAVA文件中写另一个组件

 1 package com.wuxianedu.alianxi;
 2
 3 import android.graphics.Color;
 4 import android.support.design.widget.FloatingActionButton;
 5 import android.support.design.widget.Snackbar;
 6 import android.support.v7.app.AppCompatActivity;
 7 import android.os.Bundle;
 8 import android.view.View;
 9 import android.widget.TextView;
10 import android.widget.Toast;
11
12 public class MainActivity extends AppCompatActivity {
13
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_main);
18         //给在XML中写的组件设置点击事件
19         findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
20             @Override
21             public void onClick(View view) {
22                 //使用Snackbar弹出信息,
23                 Snackbar snackbar = Snackbar.make(view,"我是提示信息",Snackbar.LENGTH_LONG);
24                 //设置确定按钮
25                 snackbar.setAction("确定", new View.OnClickListener() {
26                     @Override
27                     public void onClick(View view) {
28                         Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();
29                     }
30                 });
31                 //修改弹出信息的颜色
32                 snackbar.setActionTextColor(Color.GREEN);
33                 //获取到弹出的View菜单
34                 View views = snackbar.getView();
35                 //设置背景yans
36                 views.setBackgroundColor(Color.BLUE);
37                 TextView textView = (TextView) views.findViewById(R.id.snackbar_text);
38                 textView.setTextColor(Color.YELLOW);
39                 snackbar.show();
40             }
41         });
42     }
43 }
时间: 2024-12-25 13:57:33

Android学习笔记--design包下的两个控件的相关文章

Cocos2d-x 3.2 学习笔记(十)Joystick 搖杆控件

最近想做格鬥遊戲,那麼就要有搖杆控件,不想去看別人的代碼就自己寫了個搖杆控件,實現起來很簡單. 話不多說,看代碼: #ifndef __Joystick__ #define __Joystick__ #include "cocos2d.h" USING_NS_CC; enum JoystickEnum { DEFAULT, D_UP, D_DOWN, D_LEFT, D_RIGHT, D_LEFT_UP, D_LEFT_DOWN, D_RIGHT_UP, D_RIGHT_DOWN };

JAVASE学习笔记:第十章 SWing经常使用控件类(二)

7.JComboBox 下拉列表 /* * 初始化下拉列表 */ public void addcomb(){ String[] area = {"山西省", "山东省", "河北省", "陕西省"}; JComboBox jb=new JComboBox(area); jb.setSize(70, 20); jb.setLocation(120, 200); jb.setOpaque(false); c.add(jb); S

Android学习笔记(五三):服务Service(下)- Remote Service

之前所谈的Service属于Local Service,即Service和Client在同一进程内(即同一application内),Service的生命周期服从进程的生命周期.在实际应用上,有时希望Service作为后台服务,不仅被同一进程内的activity使用,也可被其他进程所使用,针对这种情况,需要采用bindService,也就是Remote Service的方式. 在Android中,不同app属不同进程(process),进程是安全策略的边界,一个进程不能访问其他进程的存储(例如采

Pro Android学习笔记(十二):了解Intent(下)

解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键就是component 名字,在<intent-fliter>中声明的其他属性被忽略.对于implicit intent,则根据action,category和data来进行匹配.然而一个intent fliter中可以声明多个actions,多个categories,多个data属性,因此可以满

Android学习笔记(三五):再谈Intent(下)-一些实践

Android的UI框架要求用户将他们的app分为activity,通过itent来进行调度,其中有一个main activity由Android的launcher在桌面中调用.例如一个日历的应用,需要查看日历的activity,查看单个事件的activity,编辑事件的activity等等.在查看日历的activity中,如果用户选择的某个事件,需要通过查看事件的activity来处理.这就是最近本的app UI框架,本次,我们将学习如何通过intent来完成. Activity之间的关系 某

【转】Pro Android学习笔记(四):了解Android资源(下)

处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootname="tom"><--也可以是<root>,本次采用带参数的方式作为实验-->    <leaf>Hello from an elementtest.</leaf>   <leaf>Hello World!</lea

【转】Pro Android学习笔记(七):了解Content Provider(下上)

我们通过一个Content Provider小例子进行详细说明.数据源是一个SQLite数据库,名字为books.db,该数据库只含有一个表格,名字为books.表格中含有name,isbn,author,created_date和modified_date几列.我们通过一个名为BookProvider的内容提供者将数据源运行封装,并对外提供增删改查的接口. 首先:定义Content Provider的结构 创建一个Provider,我们首先需要定义好这个provider的结构.通过consta

【转】 Pro Android学习笔记(八二):了解Package(1):包和进程

文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在之前,我们已经学习了如何签发apk,见Pro Android学习笔记(六四):安全和权限(1):签发apk,我们将对package做进一步了解. 每个apk都有一个唯一的根包名,在AndroidManifest.xml中定义,如下.开发者为包进行签发,前面和包名绑定,其他开发者不能对这个包进行更新. <?xml version="1

[Android学习笔记]Android向下兼

Android向下兼容的思路:使用高版本的API,在运行时判断真实运行平台的API版本,根据不同版本做不同的处理 关键类:Build.class里面定义了API版本相关信息 内部类:VERSION定义当前系统的版本信息,其中包含SDK版本信息Build.VERSION.SDK_INT可以获取到当前运行的系统的SDK版本号 内部类:VERSION_CODES定义了各个版本的枚举信息 适配时: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONE