【问题标题】:Question mark instead of RTL field问号而不是 RTL 字段
【发布时间】:2015-05-20 07:33:26
【问题描述】:

我在我的项目中使用了这个Material Design Toolbar

但我有两个问题:

  1. 当我使用 RTL 字符串作为选项卡标题时,它不能正确显示字符串

    private String titles[] = new String[]{"تست", "Sample Tab 2", "Sample Tab 3", "Sample Tab 4"
        , "Sample Tab 5", "Sample Tab 6", "Sample Tab 7", "Sample Tab 8"};
    

    在 OnCreate 内部:

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.navdrawer);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    if (toolbar != null) {
        setSupportActionBar(toolbar);
        toolbar.setNavigationIcon(R.drawable.ic_ab_drawer);
    }
    pager = (ViewPager) findViewById(R.id.viewpager);
    slidingTabLayout = (SlidingTabLayout) findViewById(R.id.sliding_tabs);
    pager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager(), titles));
    

    这表明:

    1. 在 API 17 下如何使用 android:supportsRtl="true"?或从右侧打开材料幻灯片菜单。 我将容器重力更改为Right,它从右侧拖动正确打开,但通过工具栏中的切换返回错误

【问题讨论】:

    标签: android material-design android-tablelayout android-toolbar


    【解决方案1】:
    1. 看来问题出在源文件编码上。尝试将其更改为 utf。
    2. 首先您应该进行here 所述的更改。至于 pre-17 rtl-support 请参阅答案:How to handle RTL languages on pre 4.2 versions of Android?Identifyng RTL language in Android

    【讨论】:

      【解决方案2】:

      感谢@anil 最后我找到了两种解决问题的方法:

      1. 更改Settings>File Encoding中的源文件编码:

      如果问题没有解决:

      1. 第一种方式 + 使用来自资源 (R.String.nameOfString) 的字符串,而不是直接在 Java 源代码中键入它们

      【讨论】:

        猜你喜欢
        • 2021-08-11
        • 1970-01-01
        • 2018-12-21
        • 2013-11-26
        • 1970-01-01
        • 2011-07-14
        • 1970-01-01
        相关资源
        最近更新 更多