当我单击“操作”按钮时,小吃栏仅显示两行文本,而第三行未显示
这是 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();
}
});
.......
答案 0 :(得分:2)
实际上,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();
答案 1 :(得分:0)
此代码对我有用
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();
}