如何在 AndroidManifest 中为特定活动设置 SupportRTL

Nim*_*ili 4 android android-manifest android-layout android-actionbar

我从所有活动中删除了操作栏然后我将一个操作栏放在特定活动中,当我使用 SupportsRtl(在特定活动中)更改标题位置但标题位置仍然没有改变

样式:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="myTheme" parent="Theme.AppCompat.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">#FFFFFF</item>
</style>

</resources>
Run Code Online (Sandbox Code Playgroud)

显现 :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.user.classmanager">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".FirstTab" />
    <activity android:name=".SecondTab" />
    <activity android:name=".ThirdTab" />

    <activity android:name=".AddNewClass"
        android:theme = "@style/myTheme"
        android:supportsRtl="true"  <==== DONT WORK
        android:label="????? ???? ????">
    </activity>
</application> </manifest>
Run Code Online (Sandbox Code Playgroud)

Ali*_*ali 5

你不能在Manifest.xml.

我建议设置android:layoutDirection="rtl"到您的活动父布局中以仅设置该特定活动支持 rtl。

这篇文章有关于布局方向支持的大量信息。

  • 感谢您回答我在 xml 目标中测试的问题 &gt;&gt;android:layoutDirection="rtl"&lt;&lt; 但仍然不起作用,但我发现了问题,此代码对我有用:getWindow().getDecorView().setLayoutDirection(View .LAYOUT_DIRECTION_RTL) @paulina_glab (2认同)