[英]Floating Action Button Snackbar with multi line
当我单击操作按钮时,小吃栏只显示两行文本,第三行不显示
这是XML内容
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_menu_help" />
我在我的活动中使用此代码
......
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Hello word1" + "\n" + "Hello word2" + "\n" + "Hello word3", Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
.......
实际上 Android Snackbar
有一个TextView
来显示您的文本。 因此,通过在TextView
设置多行,您可以实现您的目标。 试试这个代码,它对我有用。
Snackbar snackbar = Snackbar.make(Yourview, "Your Text", Snackbar.LENGTH_LONG);
View sbView = snackbar.getView();
TextView textView = sbView.findViewById(android.support.design.R.id.snackbar_text);
// For multi-line text, limit max line count.
textView.setMaxLines(3);
snackbar.show();
这段代码对我有用
public void onCreate(Bundle savedInstanceState) {
//....
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showSnack(view, "My three line message", 5000);
}
});
//....
}
public void showSnack(View view, String text, int duration) {
snackbar = Snackbar.make(view, text, duration);
View sbView = snackbar.getView();
TextView textView = sbView.findViewById(android.support.design.R.id.snackbar_text);
textView.setTextSize(16);
textView.setMaxLines(3);
snackbar.show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.