网上大多数的检测屏幕方向的变化的方法的代码如下:
WindowManager wm = getWindowManager();
Display d = wm.getDefaultDisplay();
if (d.getWidth() > d.getHeight()) {
//---landscape mode 横屏---
}
else {
//---portrait mode 竖屏---
}
于是我摸索了一下使用getSize()的方法,代码如下:
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
Point point=new Point();
EditText editText = (EditText)findViewById(R.id.edit_text1);
display.getSize(point);
if(point.x>point.y){
editText.setHint(" This is land layout!");
}else{
editText.setHint(" This is portrait layout!");
}
另外还有一种方法:
使用getRequestedOrientation()方法,不过使用这个方法的前提是得在在AndroidManifest.xml当中需要设置Activity的Android:screenOrientation属性
代码如下:
<activity android:name=".thirdAty"
android:screenOrientation="userPortrait">
<intent-filter>
<action android:name="com.example.administrator.layout_3zhang.thirdAty"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
int orientation = getRequestedOrientation();
if(orientation==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
//横屏
}else if(orientation==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
//竖屏
}
这个方法详细参考自:http://blog.sina.com.cn/s/blog_9c153bc60101a4my.html