您的位置:首页 > 移动开发 > Android开发

Android中SnackBar的简单使用

2016-07-13 11:42 183 查看
SnackBar是DesignSupportLibrary中的一个重要的控件,他会在你的界面下方提示一些关键信息,跟Toast差不多,但是它的功能更强大一些,它允许设定一个Action,当用户点击了SnackBar里面的按钮的时候,可以进行一些操作,所以,功能绝对是很强大的。下面我来介绍一下它的一些简单的使用,宝宝们准备好啦吗?我们Go~~~

最重要的,也是第一步,要导包、导包、导包~~~

compile 'com.android.support:design:23.0.1'
先来一个简单的用法

<pre style="background-color: rgb(255, 255, 255); font-family: Menlo;"><pre name="code" class="java"><span style="font-size:14px;">public class MainActivity extends AppCompatActivity {
private Button btn;
private Snackbar snackbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
和Toast使用方法类似,第一个参数是一个view,这里面我用的是我的Button,第二个参数是提示的内容,我写的“确定”,第三个参数是显示的时常
Snackbar.LENGTH_INDEFINITE 是一直显示,只有右滑或者点击事件以后,可以移除
Snackbar.LENGTH_SHORT 和Toast的显示时长属性一样
Snackbar.LENGTH_LONG 和Toast的显示时长属性一样
*/
snackbar = Snackbar.make(btn,"确定",Snackbar.LENGTH_SHORT);
snackbar.show();

}
});
}
}</span>




宝宝们,记得调用show()方法哈!!!

再来一个自定义的

SnackBar.class并没有给我们提供接口让我们来修改文字的字体颜色,如果一定要去改,那你就想办法呗,下面就是一个方法,定义一个修改SnackBar描述文字颜色的方法(改其他属性也是一样的,宝宝自己发挥哈)


public class MainActivity extends AppCompatActivity {
private Button btn;
private Snackbar snackbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
setAction里面的参数
第一个参数是可点击文字内容
第二个参数是文字的点击事件
*/
//setActionTextColor(Color.BLUE)是修改Action字体颜色,这里我把"点击"改成蓝色啦
snackbar = Snackbar.make(btn, "我点击啦哈", Snackbar.LENGTH_SHORT).setAction(
"点吧", new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ActivityTwo.class);
startActivity(intent);
}
}
).setActionTextColor(Color.BLUE);
//调用方法修改描述文字颜色,这里把"我点击啦哈"改成啦绿色
setSnackbarMessageTextColor(snackbar, Color.GREEN);
snackbar.show();

}
});
}

//设置描述字体颜色
public void setSnackbarMessageTextColor(Snackbar snackbar, int color) {
View view = snackbar.getView();
//这里的id用的是源码的id,不是自己的,不要乱改
((TextView) view.findViewById(R.id.snackbar_text)).setTextColor(color);
}
}


代码基本就是这样的,宝宝们学会啦吗?哈哈哈~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: