ari*_*nte 22 android android-snackbar
我正在显示一个带有相当长文本消息的快餐栏,并且在纵向模式下在手机上它看起来很好.
但在平板电脑上它似乎只允许1行文本,因此它被省略
无论如何我可以把它变成平板电脑风景中的2行吗?
Mat*_*ski 25
您可以像这样引用SnackBar的TextView:
TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
Run Code Online (Sandbox Code Playgroud)
然后通过更改其最大行来操作TextView本身:
tv.setMaxLines(3)
Run Code Online (Sandbox Code Playgroud)
        Szy*_*ber 17
什么是重要的,而在其他答案中没有说明,你需要使用Snackbar的视图.
所以:
Snackbar snackbar = Snackbar.make(rootView, R.string.message, Snackbar.LENGTH_LONG);
View snackbarView = snackbar.getView();
TextView snackTextView = (TextView) snackbarView.findViewById(com.google.android.material.R.id.snackbar_text);
snackTextView.setMaxLines(2);
snackbar.show();
Run Code Online (Sandbox Code Playgroud)
注意:这也可能有助于屏幕密度较低的设备
sos*_*ite 14
根据Snackbar 源代码,您可以看到在宽度大于或等于 600 dp 的设备上,它们将 max lines 更改为1. 所以你也可以添加:
<integer name="design_snackbar_text_max_lines">3</integer>
Run Code Online (Sandbox Code Playgroud)
融入你的res\values\*.xml价值观
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5452 次  |  
        
|   最近记录:  |