floatingActionBar,SnackBar;TextInputLayout: 布局代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.floatingactionbar.MainActivity"> <android.support.design.widget.FloatingActionButton android:id="@+id/fb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" //背景色 app:backgroundTint="@color/aaa" //前景色 app:rippleColor="@color/bbb" //悬浮高度 app:elevation="30dp" //大小 app:fabSize="normal" android:src="@mipmap/ic_launcher"/> <android.support.design.widget.TextInputLayout android:id="@+id/tl" android:layout_width="match_parent" app:errorTextAppearance="@color/colorPrimary" android:layout_height="wrap_content"> <EditText android:id="@+id/et" android:layout_width="match_parent" android:hint="请输入手机号" android:layout_height="wrap_content" /> </android.support.design.widget.TextInputLayout> </RelativeLayout> 代码: public class MainActivity extends AppCompatActivity { private FloatingActionButton fb; private EditText et; private TextInputLayout tl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fb = (FloatingActionButton) findViewById(R.id.fb); et= (EditText) findViewById(R.id.et); tl= (TextInputLayout) findViewById(R.id.tl); et.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.length()>11){ tl.setErrorEnabled(true); tl.setError("输入长度超过了11位"); }else{ tl.setErrorEnabled(false); } } @Override public void afterTextChanged(Editable s) { } }); fb.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Snackbar.make(v,"我好困啊,你困吗",Snackbar.LENGTH_LONG).setAction("点我查看回复", new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "困得一笔", Toast.LENGTH_SHORT).show(); } }).show(); } }); } }
运行效果: