2016-02-22 122 views
1

我想在我的android應用程序中啓用RTL支持。清單文件 所有API級別的RTL支持android

  • ,並添加了以下功能MainActivity.java類的onCreate方法

    1. 新增android:supportsRtl="true"<application>元素:我已經檢查了這個問題change action bar direction to right-to-left

      我也做了下面的事情。

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

    但它的變化在MainActivity的佈局只能從LTR到RTL。現在我想更改我的應用程序的每個活動的佈局,我該怎麼做。 請幫助我,任何人都有任何關於在所有的應用程序RTL支持的想法。

  • 回答

    1

    您可以創建一個基本的活動,所有的活動從其擴展:

    BaseActivity.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); 
         } 
        } 
    
    } 
    

    SampleActivity.java

    public class SampleActivity extends BaseActivity { 
    
        @Override 
        protected void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.activity_sample); 
        } 
    
    }