Sud*_*han 81 android material-design android-snackbar
我希望Snackbar (android.support.design.widget.Snackbar)在活动开始时显示android ,就像我们展示一样Toast.
但问题是我们必须在创建时指定父布局Snackbar:
Snackbar.make(parentlayout, "This is main activity", Snackbar.LENGTH_LONG)
.setAction("CLOSE", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
})
.setActionTextColor(getResources().getColor(android.R.color.holo_red_light ))
.show();
Run Code Online (Sandbox Code Playgroud)
如何Snackbar在没有任何点击事件的情况下在活动开始时显示父布局(如果是点击事件我们可以轻松传递父视图)?
Dav*_*ini 180
只需指向XML View内部的任何内容即可Activity's.例如,您可以为根视图组赋予一个id,并使用:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
View parentLayout = findViewById(android.R.id.content);
Snackbar.make(parentLayout, "This is main activity", Snackbar.LENGTH_LONG)
.setAction("CLOSE", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
})
.setActionTextColor(getResources().getColor(android.R.color.holo_red_light ))
.show();
//Other stuff in OnCreate();
}
Run Code Online (Sandbox Code Playgroud)
dev*_*jay 20
到目前为止,我一直无法展示Snackbar.这是显示Snackbar的最简单方法.要将其显示为主要活动开始,只需将这两行放在您的主要活动中即可OnCreate()
Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content), "Welcome To Main Activity", Snackbar.LENGTH_LONG);
snackbar.show();
Run Code Online (Sandbox Code Playgroud)
PS只需确保您已导入Android设计支持.(如问题中所述).
一个显示小吃店的utils函数
fun showSnackBar(activity: Activity, message: String, action: String? = null,
actionListener: View.OnClickListener? = null, duration: Int = Snackbar.LENGTH_SHORT) {
val snackBar = Snackbar.make(activity.findViewById(android.R.id.content), message, duration)
.setBackgroundColor(Color.parseColor("#CC000000")) // todo update your color
.setTextColor(Color.WHITE)
if (action != null && actionListener!=null) {
snackBar.setAction(action, actionListener)
}
snackBar.show()
}
Run Code Online (Sandbox Code Playgroud)
在活动中使用的示例
showSnackBar(this, "No internet")
showSnackBar(this, "No internet", duration = Snackbar.LENGTH_LONG)
showSnackBar(activity, "No internet", "OK", View.OnClickListener {
// handle click
})
Run Code Online (Sandbox Code Playgroud)
在片段中使用的示例
showSnackBar(getActivity(), "No internet")
Run Code Online (Sandbox Code Playgroud)
希望有帮助
小智 5
尝试这个
Snackbar.make(findViewById(android.R.id.content), "Got the Result", Snackbar.LENGTH_LONG)
.setAction("Submit", mOnClickListener)
.setActionTextColor(Color.RED)
.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95418 次 |
| 最近记录: |