添加利润率小吃吧观点
问题描述:
我更新我的当前应用程序使用的小吃店,在谷歌规范他们展示使用它们http://www.google.com/design/spec/components/snackbars-toasts.html#snackbars-toasts-specs添加利润率小吃吧观点
例A的各种方法:
实例B:
这里是我的代码大气压:
Snackbar snackbar = Snackbar.make(mParentLayout, displayMessage,
Snackbar.LENGTH_LONG);
snackbar.setAction(actionMessage, mClickListener);
snackbar.show();
我得到了例B的结果,
我怎样才能增加利润?
答
控制Snackbar显示屏的关键是使用android.support.design.widget.CoordinatorLayout
布局。没有它,您的小吃店将始终显示在小设备的底部和大型设备的左下角。注意:您可以使用CoordinatorLayout
作为布局的根ViewGroup
或布局树结构中的任意位置。
添加它后,请确保您传递CoordinatorLayout
(或子)作为Snackbar.make()命令的第一个参数。
通过添加填充或边距到您的CoordinatorLayout
,您可以控制位置并从屏幕底部移动Snackbar。
材料设计指南规定了Snackbar的最小和最大宽度。在小型设备上,您会看到它填满了屏幕的宽度,而在平板电脑上,您会看到Snackbar达到最大宽度并且不会填满屏幕宽度。
答
试试这个:
Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content), "message", Snackbar.LENGTH_LONG);
View snackBarView = snackbar.getView();
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(left, top, right, bottom);
snackBarView.setLayoutParams(params);
snackbar.show();
答
比赛义德的回答比较好,可以得到默认的小吃吧布局PARAMS和修改它们,只要你想:
public static void displaySnackBarWithBottomMargin(Snackbar snackbar, int sideMargin, int marginBottom) {
final View snackBarView = snackbar.getView();
final CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) snackBarView.getLayoutParams();
params.setMargins(params.leftMargin + sideMargin,
params.topMargin,
params.rightMargin + sideMargin,
params.bottomMargin + marginBottom);
snackBarView.setLayoutParams(params);
snackbar.show();
}