gpt4 book ai didi

android - 对所有 API 级别 android 的 RTL 支持

转载 作者:行者123 更新时间:2023-11-29 20:06:48 28 4
gpt4 key购买 nike

我想在我的 android 应用程序中启用 RTL 支持。我检查了这个问题change action bar direction to right-to-left

我做了以下事情:

  1. 已添加 android:supportsRtl="true"<application> list 文件中的元素
  2. 并在 MainActivity.java 类的 onCreate 方法中添加了以下函数。

    private void forceRTLIfSupported()
    {
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
    getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
    }
    }

但它只是将 MainActivity 的布局从 LTR 更改为 RTL。现在我想更改我应用程序每个 Activity 的布局,我该怎么做。如果任何人对整个应用程序中的 RTL 支持有任何想法,请帮助我。

最佳答案

您可以创建一个基础 Activity 并从中扩展您的所有 Activity :

基础 Activity .java

import android.annotation.TargetApi;
import android.os.Build;

public class BaseActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
forceRTLIfSupported();
}

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void forceRTLIfSupported()
{
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
}

}

示例 Activity .java

public class SampleActivity extends BaseActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample);
}

}

关于android - 对所有 API 级别 android 的 RTL 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35546762/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com