我想在我的Android应用程序中启用RTL支持。我已经检查了这个问题change action bar direction to right-to-left
我做了以下事情:
org.hibernate.PersistentObjectException: detached entity passed to persist: com.test.lalala.profile.Profile
添加到清单文件中的android:supportsRtl="true"
元素并在MainActivity.java类的onCreate方法中添加了以下函数。
<application>
但它只将MainActivity的布局从LTR更改为RTL。现在我想更改我的应用程序的每个活动的布局,我该怎么做。 请帮助我,任何人都对应用程序中的RTL支持有所了解。
答案 0 :(得分:2)
您可以创建基本活动并从中扩展所有活动:
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);
}
}
}
public class SampleActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample);
}
}