从右到左小吃吧
回答
终于让我找到这个解决方案:
Snackbar snackbar =
Snackbar.make(view, "My right2left text", Snackbar.LENGTH_LONG)
.setAction("Action", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
设置方向从右到左:
ViewCompat.setLayoutDirection(snackbar.getView(),ViewCompat.LAYOUT_DIRECTION_RTL);
不要为显示小吃吧忘记:
snackbar.show();
UPDATE
既然你有Text
和Action
为TextView
你可以使用其他的TextView方法。如setTypeface()
,setTextSize()
等。
文本设置字体:
TextView text = snackbar.getView().findViewById(android.support.design.R.id.snackbar_text);
text.setTypeface(yourTypeface);
设置字体行动:
TextView action = snackbar.getView().findViewById(android.support.design.R.id.snackbar_action);
action.setTypeface(yourTypeface);
你必须设置此基础上进行局部。 Android支持此功能。
从Android API级别17+起,它本身支持RTL。要强制你的整个布局是包括ActionBar在内的RTL,请执行以下操作。
在应用标签下的Android清单保持这种
android:supportsRtl="true"
defince在utils的类
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static void getRtlSupport() {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
}
使用此回购作为参考这样的方法和实施此为小吃吧
我解决了这个问题根据此参考,通过设置小吃布局的定制布局来设置。
只需添加此代码:
在Android清单应用程序标记下保持这种
机器人:supportsRtl = “真”
这:
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();
好的,但它有用,而你想使用RTL方向为你的应用程序。 在某些情况下,您希望将LTR方向用于应用程序,对于某些小部件使用RTL。 – Seyyed
private void showSnackbar(String text, int Length, String Action, View.OnClickListener clickListener) {
Snackbar snackbar = Snackbar.make(findViewById(R.id.coordinatorLayout), text, Length);
View snack = snackbar.getView();
snackbar.getView().setRotationY(180);
snack.setBackgroundColor(getResources().getColor(R.color.DarkBlue));
TextView snack_text = (TextView)snack.findViewById(android.support.design.R.id.snackbar_text);
TextView snack_action = (TextView)snack.findViewById(android.support.design.R.id.snackbar_action);
snack_text.setTypeface(tf);
snack_action.setTypeface(tf);
snack_action.setRotationY(180);
snack_text.setRotationY(180);
snackbar.setAction(Action, clickListener);
snackbar.setActionTextColor(Color.parseColor("#00c4ff"));
snackbar.show();
}
请解释您的代码如何以及为什么解决这个问题,因为在StackOverflow中,仅有代码的答案不被理解。此外,你可以解释,为什么你的答案超过了以前的答案(主要是接受的答案)。 –
- 1. 对齐小吃吧的右边
- 2. 堆叠酒吧从右到左而不是从左到右
- 3. 小吃吧:如何识别哪些小吃吧显示
- 4. 不良空白小吃吧
- 5. 小吃吧不显示了
- 6. 小吃吧$ SnackbarLayout.onFinishInflate问题
- 7. 从右到左
- 8. 大熊猫:从左到右和从右到左交替排列()从左到右
- 9. jQuery从左到右缩小宽度
- 10. 小吃吧是不是片段类
- 11. 添加利润率小吃吧观点
- 12. 底部填充,当小吃吧出现
- 13. ArrayIndexOutOfBoundsException异常,而驳回小吃吧/ ViewDragHelper
- 14. 小吃吧在透明的活动
- 15. Viewpager拦截小吃吧解雇
- 16. 小吃吧只适用于某一类
- 17. 的Android - 小吃吧封面我查看
- 18. 测试小吃吧与咖啡
- 19. 从右到左UILabels
- 20. 从右到左UINavigationController
- 21. 从右到左jframe
- 22. Android:preferencescreen从右到左
- 23. ContextMenu从右到左
- 24. 从右到左ProgressBar?
- 25. 从左到右从左到右堆叠框用CSS/JS
- 26. 如何从左/右移动到下一个ViewController从左到右
- 27. 禁用ViewPager从右到左滑动从左到右
- 28. Android:从左到右从左到右滑动
- 29. Python从右到左和从左到右打印得很好
- 30. 从左到右telerik combobox从右到左mvc应用程序
使用来自android.support.v4.view.ViewCompat的ViewCompat for android below 17 正如在https://stackoverflow.com/questions/30463608/set-layoutdirection-rtl-for-api-lower-than-17/37670836 。 –