Sey*_*yed 15 android right-to-left android-snackbar
我想在Design Support Library SnackBar上显示带有操作的文本.
我的语言是从右到左写的.那么我该如何改变SnackBar文本和动作方向呢?
像这样的东西:
Sey*_*yed 14
最后从答案和更多搜索我找到了这个解决方案:
Snackbar snackbar =
Snackbar.make(view, "My right2left text", Snackbar.LENGTH_LONG)
.setAction("Action", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
Run Code Online (Sandbox Code Playgroud)
设置从右到左的方向:
ViewCompat.setLayoutDirection(snackbar.getView(),ViewCompat.LAYOUT_DIRECTION_RTL);
Run Code Online (Sandbox Code Playgroud)
不要忘记这显示小吃吧:
snackbar.show();
Run Code Online (Sandbox Code Playgroud)
UPDATE
既然你Text和Action作为TextView可以使用其他的TextView方法他们.像setTypeface(),setTextSize()等等.
设置文字的字体:
TextView text = snackbar.getView().findViewById(android.support.design.R.id.snackbar_text);
text.setTypeface(yourTypeface);
Run Code Online (Sandbox Code Playgroud)
设置动作字体:
TextView action = snackbar.getView().findViewById(android.support.design.R.id.snackbar_action);
action.setTypeface(yourTypeface);
Run Code Online (Sandbox Code Playgroud)
只需添加此代码:
在应用程序标签下的Android清单中保留这个
android:supportsRtl="true"
和这个 :
Snackbar snackbar = Snackbar.make(getView(), "Text", Snackbar.LENGTH_SHORT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
TextView view1 = (TextView)snackbar.getView().findViewById(android.support.design.R.id.snackbar_text);
view1.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
snackbar.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3294 次 |
| 最近记录: |