2016-04-11 37 views
0

我有一个问题。我想在景观和potrait模式中使用该应用程序,但我需要有关何时将设备potrait旋转到风景,应用程序分裂为2个片段的信息。在平板电脑android中的景观和potrait模式

我研究了许多网站,但我没有必要的信息关于那个。任何人都可以给我一些想法我该怎么做?

编辑

productFlavors { 
      phone { 
       applicationId "packageName.app.phone" 
       buildConfigField 'boolean', 'IsPhone', 'true' 
       versionName "" 
      } 
      tablet { 
       applicationId "packageName.app.tablet" 
       buildConfigField 'boolean', 'IsPhone', 'false' 
       versionName "" 
      } 
     } 

我拆我的apk.I有phone.apk和tablet.apk。

谢谢。

+0

您可以在layout_land文件夹中指定横向模式。 – saeed

+0

是的,我知道这一点,但我用gradle拆分我的apk。我有一个phone.apk和一个tablet.apk.When我创建一个“layout_land”文件夹,没有为我工作。 –

+0

您应该看到这个文档http://developer.android.com/intl/pt-br/guide/practices/tablets-and-handsets.html关于支持平板电脑和手机 – Gorio

回答

1

如果你真的想知道设备何时旋转,你可以尝试这样的事情。

@Override 
public void onConfigurationChanged(Configuration config) { 
    super.onConfigurationChanged(config); 

    if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     // "landscape" 
    } else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     //"portrait" 
    } 
} 

但通常你不应该这样做。您只需要为portrait提供一个布局,然后再为lanscape提供另一个布局,然后让布局加载所需的片段。

在将phone.apk和tablet.apk分开的情况下,每个apk都应该使用gradle与其各自的布局组一起发货。

+0

感谢@ Guillaume.I处理它与您的解决方案。 –

0

您可以检查它的角度并做任何事情。

import android.app.Activity; 
import android.hardware.SensorManager; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.OrientationEventListener; 
import android.widget.Toast; 

public class AndroidOrientationSensor extends Activity { 

    OrientationEventListener myOrientationEventListener; 

    /** 
    * Called when the activity is first created. 
    */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.layout_main); 

     myOrientationEventListener 
       = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) { 

      @Override 
      public void onOrientationChanged(int arg0) { 
       // TODO Auto-generated method stub 
       Log.d("GORIO", "angle: " + String.valueOf(arg0)); 
      } 
     }; 

     if (myOrientationEventListener.canDetectOrientation()) { 
      Toast.makeText(this, "Can DetectOrientation", Toast.LENGTH_LONG).show(); 
      myOrientationEventListener.enable(); 
     } else { 
      Toast.makeText(this, "Can't DetectOrientation", Toast.LENGTH_LONG).show(); 
      finish(); 
     } 
    } 

    @Override 
    protected void onDestroy() { 
     // TODO Auto-generated method stub 
     super.onDestroy(); 
     myOrientationEventListener.disable(); 
    } 
}